{"ast":null,"code":"import _objectSpread from \"D:/DSP_Management/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _regenerator from \"D:/DSP_Management/node_modules/@babel/runtime/helpers/esm/regenerator.js\";\nimport _asyncToGenerator from \"D:/DSP_Management/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport _slicedToArray from \"D:/DSP_Management/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nvar _jsxFileName = \"D:\\\\DSP_Management\\\\src\\\\views\\\\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 { userTableData } from \"variables/general\";\nimport { ToastContainer, toast, Bounce } from 'react-toastify';\nimport { getUsers } from \"api/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, _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          toast.error(\"사용자 조회 중 오류가 발생했습니다.\");\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  })), [filters]);\n  useEffect(function () {\n    fetchUsers();\n  }, [filters]);\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      pageIndex: 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: 67,\n      columnNumber: 7\n    }, this)\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 66,\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","userTableData","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","_t","w","_context","p","n","page_index","v","Array","isArray","console","error","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":["D:/DSP_Management/src/views/Admin/User/index.js"],"sourcesContent":["import { Flex } from \"@chakra-ui/react\";\nimport React, { useState, useCallback, useEffect } from \"react\";\nimport Users from \"./components/Users\";\nimport { userTableData } from \"variables/general\";\nimport { ToastContainer, toast, Bounce  } from 'react-toastify';\n\nimport { getUsers } from \"api/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      toast.error(\"사용자 조회 중 오류가 발생했습니다.\");\n    } finally {\n      setLoading(false);\n    }\n  }, [filters]);\n\n  useEffect(() => {\n    fetchUsers();\n  }, [filters]);\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        pageIndex={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":[]}