{"ast":null,"code":"var _jsxFileName = \"D:\\\\LDT\\\\000 Project\\\\LDT\\\\Client\\\\src\\\\pages\\\\SensorList.js\",\n  _s = $RefreshSig$();\nimport React, { useState, useEffect, useContext } from \"react\";\nimport { sensorColumns } from \"../columns/tableColumns\";\nimport SensorTable from \"../components/SensorTable\";\nimport Pagination from \"../components/Pagination\";\nimport { AuthContext } from \"../contexts/AuthContext\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst rowsPerPage = 10;\nexport default function SensorList() {\n  _s();\n  const {\n    user\n  } = useContext(AuthContext);\n  const [sensors, setSensors] = useState([]);\n  const [page, setPage] = useState(1);\n  const [total, setTotal] = useState(0);\n  const [loading, setLoading] = useState(true);\n  useEffect(() => {\n    if (!user) return;\n    setLoading(true);\n    fetch(`http://192.168.1.93:4000/api/sensor?page=${page}&size=${rowsPerPage}`, {\n      headers: {\n        Authorization: `Bearer ${user.token}`\n      }\n    }).then(res => res.json()).then(data => {\n      setSensors(data.data);\n      setTotal(data.total);\n      setLoading(false);\n    });\n  }, [user, page]);\n  if (!user) return /*#__PURE__*/_jsxDEV(\"div\", {\n    children: \"\\uB85C\\uADF8\\uC778 \\uD544\\uC694\"\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 30,\n    columnNumber: 21\n  }, this);\n  const totalPages = Math.ceil(total / rowsPerPage);\n  return /*#__PURE__*/_jsxDEV(\"section\", {\n    children: [/*#__PURE__*/_jsxDEV(\"header\", {\n      className: \"main\",\n      children: /*#__PURE__*/_jsxDEV(\"h1\", {\n        children: \"Sensor\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 37,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 36,\n      columnNumber: 7\n    }, this), loading ? /*#__PURE__*/_jsxDEV(\"div\", {\n      children: \"\\uB85C\\uB529\\uC911...\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 40,\n      columnNumber: 9\n    }, this) : /*#__PURE__*/_jsxDEV(\"div\", {\n      children: [/*#__PURE__*/_jsxDEV(Pagination, {\n        page: page,\n        totalPages: totalPages,\n        onPageChange: setPage\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 43,\n        columnNumber: 11\n      }, this), /*#__PURE__*/_jsxDEV(SensorTable, {\n        columns: sensorColumns,\n        sensors: sensors\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 44,\n        columnNumber: 11\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 42,\n      columnNumber: 9\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 35,\n    columnNumber: 5\n  }, this);\n}\n_s(SensorList, \"5DiQTlm0Dq63mNiyrOe6tBGL7eU=\");\n_c = SensorList;\nvar _c;\n$RefreshReg$(_c, \"SensorList\");","map":{"version":3,"names":["React","useState","useEffect","useContext","sensorColumns","SensorTable","Pagination","AuthContext","jsxDEV","_jsxDEV","rowsPerPage","SensorList","_s","user","sensors","setSensors","page","setPage","total","setTotal","loading","setLoading","fetch","headers","Authorization","token","then","res","json","data","children","fileName","_jsxFileName","lineNumber","columnNumber","totalPages","Math","ceil","className","onPageChange","columns","_c","$RefreshReg$"],"sources":["D:/LDT/000 Project/LDT/Client/src/pages/SensorList.js"],"sourcesContent":["import React, { useState, useEffect, useContext } from \"react\";\r\nimport { sensorColumns } from \"../columns/tableColumns\";\r\nimport SensorTable from \"../components/SensorTable\";\r\nimport Pagination from \"../components/Pagination\";\r\nimport { AuthContext } from \"../contexts/AuthContext\";\r\n\r\nconst rowsPerPage = 10;\r\n\r\nexport default function SensorList() {\r\n  const { user } = useContext(AuthContext);\r\n  const [sensors, setSensors] = useState([]);\r\n  const [page, setPage] = useState(1);\r\n  const [total, setTotal] = useState(0);\r\n  const [loading, setLoading] = useState(true);\r\n\r\n  useEffect(() => {\r\n    if (!user) return;\r\n    setLoading(true);\r\n    fetch(`http://192.168.1.93:4000/api/sensor?page=${page}&size=${rowsPerPage}`, {\r\n      headers: { Authorization: `Bearer ${user.token}` }\r\n    })\r\n      .then(res => res.json())\r\n      .then(data => {\r\n        setSensors(data.data);\r\n        setTotal(data.total);\r\n        setLoading(false);\r\n      });\r\n  }, [user, page]); \r\n\r\n  if (!user) return <div>로그인 필요</div>;\r\n\r\n  const totalPages = Math.ceil(total / rowsPerPage);\r\n\r\n  return (\r\n    <section>\r\n      <header className=\"main\">\r\n        <h1>Sensor</h1>\r\n      </header>\r\n      {loading ? (\r\n        <div>로딩중...</div>\r\n      ) : (\r\n        <div>\r\n          <Pagination page={page} totalPages={totalPages} onPageChange={setPage} />\r\n          <SensorTable columns={sensorColumns} sensors={sensors} />\r\n        </div>\r\n      )}\r\n    </section>\r\n  );\r\n}\r\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}