{"ast":null,"code":"var _jsxFileName = \"D:\\\\LDT\\\\000 Project\\\\LDT\\\\Client\\\\src\\\\components\\\\SensorList.js\",\n  _s = $RefreshSig$();\nimport React, { useState, useEffect } from \"react\";\nimport axios from \"axios\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction SensorList() {\n  _s();\n  const [sensors, setSensors] = useState([]);\n  useEffect(() => {\n    axios.get(\"http://localhost:4000/api/sensors\").then(res => setSensors(res.data.slice(1)).catch(() => setError(\"서버 연결에 실패했습니다. 관리자에게 문의하세요.\"))); // 첫번째는 Featured로 빼기\n  }, []);\n  return /*#__PURE__*/_jsxDEV(\"section\", {\n    className: \"posts\",\n    children: [error && /*#__PURE__*/_jsxDEV(Modal, {\n      message: error,\n      onClose: () => setError(null)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 15,\n      columnNumber: 23\n    }, this), sensors.map(sensor => /*#__PURE__*/_jsxDEV(\"article\", {\n      children: [/*#__PURE__*/_jsxDEV(\"header\", {\n        children: [/*#__PURE__*/_jsxDEV(\"span\", {\n          className: \"date\",\n          children: sensor.type\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 19,\n          columnNumber: 25\n        }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n          children: sensor.name\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 20,\n          columnNumber: 25\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 18,\n        columnNumber: 21\n      }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n        className: \"image fit\",\n        tabIndex: -1,\n        children: /*#__PURE__*/_jsxDEV(\"img\", {\n          src: sensor.image,\n          alt: sensor.name\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 23,\n          columnNumber: 25\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 22,\n        columnNumber: 21\n      }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n        children: [sensor.value, \" / \", sensor.location]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 25,\n        columnNumber: 21\n      }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n        className: \"actions special\",\n        children: /*#__PURE__*/_jsxDEV(\"li\", {\n          children: /*#__PURE__*/_jsxDEV(\"button\", {\n            type: \"button\",\n            className: \"button\",\n            children: \"\\uC0C1\\uC138 \\uBCF4\\uAE30\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 28,\n            columnNumber: 29\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 27,\n          columnNumber: 25\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 26,\n        columnNumber: 21\n      }, this)]\n    }, sensor.id, true, {\n      fileName: _jsxFileName,\n      lineNumber: 17,\n      columnNumber: 17\n    }, this))]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 14,\n    columnNumber: 9\n  }, this);\n}\n_s(SensorList, \"jX46rH897G+urM0ad4iJqHW7k0U=\");\n_c = SensorList;\nexport default SensorList;\nvar _c;\n$RefreshReg$(_c, \"SensorList\");","map":{"version":3,"names":["React","useState","useEffect","axios","jsxDEV","_jsxDEV","SensorList","_s","sensors","setSensors","get","then","res","data","slice","catch","setError","className","children","error","Modal","message","onClose","fileName","_jsxFileName","lineNumber","columnNumber","map","sensor","type","name","tabIndex","src","image","alt","value","location","id","_c","$RefreshReg$"],"sources":["D:/LDT/000 Project/LDT/Client/src/components/SensorList.js"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\n\r\nfunction SensorList() {\r\n    const [sensors, setSensors] = useState([]);\r\n\r\n    useEffect(() => {\r\n        axios.get(\"http://localhost:4000/api/sensors\")\r\n            .then(res => setSensors(res.data.slice(1))\r\n            .catch(() => setError(\"서버 연결에 실패했습니다. 관리자에게 문의하세요.\"))); // 첫번째는 Featured로 빼기\r\n    }, []);\r\n\r\n    return (\r\n        <section className=\"posts\">\r\n            {error && <Modal message={error} onClose={() => setError(null)} />}\r\n            {sensors.map(sensor => (\r\n                <article key={sensor.id}>\r\n                    <header>\r\n                        <span className=\"date\">{sensor.type}</span>\r\n                        <h2>{sensor.name}</h2>\r\n                    </header>\r\n                    <a className=\"image fit\" tabIndex={-1}>\r\n                        <img src={sensor.image} alt={sensor.name} />\r\n                    </a>\r\n                    <p>{sensor.value} / {sensor.location}</p>\r\n                    <ul className=\"actions special\">\r\n                        <li>\r\n                            <button type=\"button\" className=\"button\">상세 보기</button>\r\n                        </li>\r\n                    </ul>\r\n                </article>\r\n            ))}\r\n        </section>\r\n    );\r\n}\r\nexport default SensorList;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}