{"ast":null,"code":"var _jsxFileName = \"D:\\\\LDT\\\\000 Project\\\\LDT\\\\Client\\\\src\\\\components\\\\HistoryTable.js\",\n  _s = $RefreshSig$();\n// src/components/HistoryTable.js\nimport React, { useState, useEffect } from \"react\";\nimport Pagination from \"./Pagination\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function HistoryTable({\n  columns,\n  api\n}) {\n  _s();\n  const [data, setData] = useState([]);\n  const [total, setTotal] = useState(0);\n  const [page, setPage] = useState(1);\n  const [search, setSearch] = useState(\"\");\n  const [loading, setLoading] = useState(true);\n  const rowsPerPage = 10;\n  useEffect(() => {\n    setLoading(true);\n    fetch(`${api}?page=${page}&size=${rowsPerPage}&search=${encodeURIComponent(search)}`).then(res => res.json()).then(res => {\n      setData(res.data);\n      setTotal(res.total);\n      setLoading(false);\n    }).catch(() => setLoading(false));\n  }, [api, page, search]);\n  const totalPages = Math.ceil(total / rowsPerPage);\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      style: {\n        display: \"flex\",\n        gap: 12,\n        alignItems: \"center\",\n        marginBottom: 16\n      },\n      children: [/*#__PURE__*/_jsxDEV(\"input\", {\n        type: \"text\",\n        placeholder: \"\\uAC80\\uC0C9\",\n        value: search,\n        onChange: e => setSearch(e.target.value),\n        style: {\n          flex: 1,\n          padding: \"6px 10px\"\n        }\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 31,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n        className: \"button small\",\n        onClick: () => setPage(1),\n        children: \"\\uAC80\\uC0C9\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 38,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 30,\n      columnNumber: 7\n    }, this), loading ? /*#__PURE__*/_jsxDEV(\"div\", {\n      children: \"\\uB85C\\uB529\\uC911...\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 41,\n      columnNumber: 9\n    }, this) : /*#__PURE__*/_jsxDEV(\"div\", {\n      className: \"table-wrapper\",\n      style: {\n        overflowX: \"auto\"\n      },\n      children: /*#__PURE__*/_jsxDEV(\"table\", {\n        className: \"alt\",\n        children: [/*#__PURE__*/_jsxDEV(\"thead\", {\n          children: /*#__PURE__*/_jsxDEV(\"tr\", {\n            children: columns.map(col => /*#__PURE__*/_jsxDEV(\"th\", {\n              children: col.label\n            }, col.key, false, {\n              fileName: _jsxFileName,\n              lineNumber: 47,\n              columnNumber: 37\n            }, this))\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 46,\n            columnNumber: 15\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 45,\n          columnNumber: 13\n        }, this), /*#__PURE__*/_jsxDEV(\"tbody\", {}, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 50,\n          columnNumber: 13\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 44,\n        columnNumber: 11\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 43,\n      columnNumber: 9\n    }, this), /*#__PURE__*/_jsxDEV(Pagination, {\n      page: page,\n      totalPages: totalPages,\n      onPageChange: setPage\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 56,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 29,\n    columnNumber: 5\n  }, this);\n}\n_s(HistoryTable, \"9SFDCA34rEee26DCJTPQTLxKGh0=\");\n_c = HistoryTable;\nvar _c;\n$RefreshReg$(_c, \"HistoryTable\");","map":{"version":3,"names":["React","useState","useEffect","Pagination","jsxDEV","_jsxDEV","HistoryTable","columns","api","_s","data","setData","total","setTotal","page","setPage","search","setSearch","loading","setLoading","rowsPerPage","fetch","encodeURIComponent","then","res","json","catch","totalPages","Math","ceil","children","style","display","gap","alignItems","marginBottom","type","placeholder","value","onChange","e","target","flex","padding","fileName","_jsxFileName","lineNumber","columnNumber","className","onClick","overflowX","map","col","label","key","onPageChange","_c","$RefreshReg$"],"sources":["D:/LDT/000 Project/LDT/Client/src/components/HistoryTable.js"],"sourcesContent":["// src/components/HistoryTable.js\r\nimport React, { useState, useEffect } from \"react\";\r\nimport Pagination from \"./Pagination\";\r\n\r\nexport default function HistoryTable({ columns, api }) {\r\n  const [data, setData] = useState([]);\r\n  const [total, setTotal] = useState(0);\r\n  const [page, setPage] = useState(1);\r\n  const [search, setSearch] = useState(\"\");\r\n  const [loading, setLoading] = useState(true);\r\n\r\n  const rowsPerPage = 10;\r\n\r\n  useEffect(() => {\r\n    setLoading(true);\r\n    fetch(`${api}?page=${page}&size=${rowsPerPage}&search=${encodeURIComponent(search)}`)\r\n      .then(res => res.json())\r\n      .then(res => {\r\n        setData(res.data);\r\n        setTotal(res.total);\r\n        setLoading(false);\r\n      })\r\n      .catch(() => setLoading(false));\r\n  }, [api, page, search]);\r\n\r\n  const totalPages = Math.ceil(total / rowsPerPage);\r\n\r\n  return (\r\n    <div>\r\n      <div style={{ display: \"flex\", gap: 12, alignItems: \"center\", marginBottom: 16 }}>\r\n        <input\r\n          type=\"text\"\r\n          placeholder=\"검색\"\r\n          value={search}\r\n          onChange={e => setSearch(e.target.value)}\r\n          style={{ flex: 1, padding: \"6px 10px\" }}\r\n        />\r\n        <button className=\"button small\" onClick={() => setPage(1)}>검색</button>\r\n      </div>\r\n      {loading ? (\r\n        <div>로딩중...</div>\r\n      ) : (\r\n        <div className=\"table-wrapper\" style={{ overflowX: \"auto\" }}>\r\n          <table className=\"alt\">\r\n            <thead>\r\n              <tr>\r\n                {columns.map(col => <th key={col.key}>{col.label}</th>)}\r\n              </tr>\r\n            </thead>\r\n            <tbody>\r\n\r\n            </tbody>\r\n          </table>\r\n        </div>\r\n      )}\r\n      <Pagination page={page} totalPages={totalPages} onPageChange={setPage} />\r\n    </div>\r\n  );\r\n}\r\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}