{"ast":null,"code":"import _objectSpread from \"C:/LDT/DSP_Management/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _regenerator from \"C:/LDT/DSP_Management/node_modules/@babel/runtime/helpers/esm/regenerator.js\";\nimport _asyncToGenerator from \"C:/LDT/DSP_Management/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport _slicedToArray from \"C:/LDT/DSP_Management/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nvar _jsxFileName = \"C:\\\\LDT\\\\DSP_Management\\\\src\\\\pages\\\\Admin\\\\User\\\\index.js\",\n  _s = $RefreshSig$();\nimport { Flex } from \"@chakra-ui/react\";\nimport React, { useState, useCallback, useEffect } from \"react\";\nimport Users from \"./components/Users\";\nimport { ToastContainer, toast, Bounce } from 'react-toastify';\nimport { getUsers } from \"services/userApi\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction Tables() {\n  _s();\n  var _useState = useState(false),\n    _useState2 = _slicedToArray(_useState, 2),\n    loading = _useState2[0],\n    setLoading = _useState2[1];\n  var _useState3 = useState(1),\n    _useState4 = _slicedToArray(_useState3, 2),\n    pageIndex = _useState4[0],\n    setPageIndex = _useState4[1];\n  var _useState5 = useState(0),\n    _useState6 = _slicedToArray(_useState5, 2),\n    totalPages = _useState6[0],\n    setTotalPages = _useState6[1];\n  var _useState7 = useState([]),\n    _useState8 = _slicedToArray(_useState7, 2),\n    users = _useState8[0],\n    setUsers = _useState8[1];\n  var _useState9 = useState(0),\n    _useState0 = _slicedToArray(_useState9, 2),\n    userCount = _useState0[0],\n    setUserCount = _useState0[1];\n  var _useState1 = useState({\n      query: \"\",\n      site_id: null,\n      user_level: null\n    }),\n    _useState10 = _slicedToArray(_useState1, 2),\n    filters = _useState10[0],\n    setFilters = _useState10[1];\n  var fetchUsers = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n    var res, _res$data, success, data, page, size, _totalPages, total, _error$response, _error$response$data, _error$response2, _error$response2$data, serverMsg, _t;\n    return _regenerator().w(function (_context) {\n      while (1) switch (_context.p = _context.n) {\n        case 0:\n          _context.p = 0;\n          setLoading(true);\n          _context.n = 1;\n          return getUsers({\n            page_index: pageIndex,\n            query: filters.query,\n            site_id: filters.site_id,\n            user_level: filters.user_level\n          });\n        case 1:\n          res = _context.v;\n          _res$data = res.data, success = _res$data.success, data = _res$data.data, page = _res$data.page, size = _res$data.size, _totalPages = _res$data.totalPages, total = _res$data.total;\n          setUsers(Array.isArray(data) ? data : []);\n          setUserCount(total !== null && total !== void 0 ? total : 0);\n          setTotalPages(_totalPages !== null && _totalPages !== void 0 ? _totalPages : 0);\n          _context.n = 3;\n          break;\n        case 2:\n          _context.p = 2;\n          _t = _context.v;\n          console.error(_t);\n          serverMsg = (_t === null || _t === void 0 ? void 0 : (_error$response = _t.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.msg) || (_t === null || _t === void 0 ? void 0 : (_error$response2 = _t.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.message);\n          toast.error(serverMsg || \"사용자 조회 중 오류가 발생했습니다.\");\n        case 3:\n          _context.p = 3;\n          setLoading(false);\n          return _context.f(3);\n        case 4:\n          return _context.a(2);\n      }\n    }, _callee, null, [[0, 2, 3, 4]]);\n  })), [pageIndex, filters]);\n  useEffect(function () {\n    fetchUsers();\n  }, [fetchUsers]);\n  var handleChangePage = function handleChangePage(_ref2) {\n    var selected = _ref2.selected;\n    setPageIndex(selected + 1);\n  };\n  var handleChangeFilters = function handleChangeFilters(next) {\n    setPageIndex(1);\n    setFilters(function (prev) {\n      return _objectSpread(_objectSpread({}, prev), next);\n    });\n  };\n\n  // 승인/거절 후 재조회(현재 조건 유지)\n  var handleApproved = function handleApproved() {\n    return fetchUsers();\n  };\n  return /*#__PURE__*/_jsxDEV(Flex, {\n    direction: \"column\",\n    pt: {\n      md: \"75px\"\n    },\n    gap: \"24px\",\n    children: /*#__PURE__*/_jsxDEV(Users, {\n      title: \"사용자 목록\",\n      captions: [\"이름\", \"회사\", \"휴대폰 번호\", \"권한\", \"사이트\"],\n      data: users,\n      loading: loading,\n      page: pageIndex - 1,\n      pageCount: totalPages,\n      onPageChange: handleChangePage,\n      onApproved: handleApproved,\n      filters: filters,\n      onChangeFilters: handleChangeFilters\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 70,\n      columnNumber: 7\n    }, this)\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 69,\n    columnNumber: 5\n  }, this);\n}\n_s(Tables, \"57EGmyhSTmzDlnH9gxs/9mgDl1Q=\");\n_c = Tables;\nexport default Tables;\nvar _c;\n$RefreshReg$(_c, \"Tables\");","map":{"version":3,"names":["Flex","React","useState","useCallback","useEffect","Users","ToastContainer","toast","Bounce","getUsers","jsxDEV","_jsxDEV","Tables","_s","_useState","_useState2","_slicedToArray","loading","setLoading","_useState3","_useState4","pageIndex","setPageIndex","_useState5","_useState6","totalPages","setTotalPages","_useState7","_useState8","users","setUsers","_useState9","_useState0","userCount","setUserCount","_useState1","query","site_id","user_level","_useState10","filters","setFilters","fetchUsers","_asyncToGenerator","_regenerator","m","_callee","res","_res$data","success","data","page","size","_totalPages","total","_error$response","_error$response$data","_error$response2","_error$response2$data","serverMsg","_t","w","_context","p","n","page_index","v","Array","isArray","console","error","response","msg","message","f","a","handleChangePage","_ref2","selected","handleChangeFilters","next","prev","_objectSpread","handleApproved","direction","pt","md","gap","children","title","captions","pageCount","onPageChange","onApproved","onChangeFilters","fileName","_jsxFileName","lineNumber","columnNumber","_c","$RefreshReg$"],"sources":["C:/LDT/DSP_Management/src/pages/Admin/User/index.js"],"sourcesContent":["import { Flex } from \"@chakra-ui/react\";\nimport React, { useState, useCallback, useEffect } from \"react\";\nimport Users from \"./components/Users\";\nimport { ToastContainer, toast, Bounce  } from 'react-toastify';\n\nimport { getUsers } from \"services/userApi\";\n\nfunction Tables() {\n\n  const [loading, setLoading] = useState(false);\n  const [pageIndex, setPageIndex] = useState(1);\n  const [totalPages, setTotalPages] = useState(0);\n      \n\n  const [users, setUsers] = useState([]); \n  const [userCount, setUserCount] = useState(0);\n\n  const [filters, setFilters] = useState({\n    query: \"\",\n    site_id: null,   \n    user_level: null,\n  });\n\n  const fetchUsers = useCallback(async () => {\n    try {\n      setLoading(true);\n\n      const res = await getUsers({\n        page_index: pageIndex,\n        query: filters.query,\n        site_id: filters.site_id,\n        user_level: filters.user_level,\n      });\n\n      const { success, data, page, size, totalPages, total } = res.data;\n\n      setUsers(Array.isArray(data) ? data : []);\n      setUserCount(total ?? 0);\n      setTotalPages(totalPages ?? 0);\n    } catch (error) {\n      console.error(error);\n      const serverMsg =\n      error?.response?.data?.msg ||\n      error?.response?.data?.message;\n\n      toast.error(serverMsg || \"사용자 조회 중 오류가 발생했습니다.\");\n    } finally {\n      setLoading(false);\n    }\n  }, [pageIndex, filters]);\n\n  useEffect(() => {\n    fetchUsers();\n  }, [fetchUsers]);\n\n  const handleChangePage = ({ selected }) => {\n    setPageIndex(selected + 1); \n  };\n\n  const handleChangeFilters = (next) => {\n    setPageIndex(1);\n    setFilters((prev) => ({ ...prev, ...next }));\n  };\n\n  // 승인/거절 후 재조회(현재 조건 유지)\n  const handleApproved = () => fetchUsers();\n\n  return (\n    <Flex direction='column' pt={{ md: \"75px\" }} gap=\"24px\">\n      <Users\n        title={\"사용자 목록\"}\n        captions={[\"이름\", \"회사\", \"휴대폰 번호\", \"권한\", \"사이트\"]}\n        data={users}\n        loading={loading}            \n        page={pageIndex-1}           \n        pageCount={totalPages}\n        onPageChange={handleChangePage} \n        onApproved={handleApproved}\n        filters={filters}\n        onChangeFilters={handleChangeFilters}\n      />\n    </Flex>\n  );\n}\n\nexport default Tables;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}