{"ast":null,"code":"var _jsxFileName = \"D:\\\\LDT\\\\000 Project\\\\LDT\\\\Client\\\\src\\\\components\\\\SensorList.js\",\n  _s = $RefreshSig$();\n// src/components/SensorList.js\nimport React, { useState, useEffect } from \"react\";\nimport axios from \"axios\";\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } 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));\n  }, []);\n  if (sensors.length === 0) return /*#__PURE__*/_jsxDEV(\"div\", {\n    children: \"\\uC13C\\uC11C \\uC5C6\\uC74C\"\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 14,\n    columnNumber: 38\n  }, this);\n  const [featured, ...rest] = sensors; // 첫번째 센서 = 특집, 나머지 = 리스트\n\n  return /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(\"article\", {\n      className: \"post featured\",\n      children: [/*#__PURE__*/_jsxDEV(\"header\", {\n        className: \"major\",\n        children: [/*#__PURE__*/_jsxDEV(\"span\", {\n          className: \"date\",\n          children: featured.type\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 23,\n          columnNumber: 21\n        }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n          children: featured.name\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 24,\n          columnNumber: 21\n        }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n          children: [/*#__PURE__*/_jsxDEV(\"b\", {\n            children: \"\\uCE21\\uC815\\uAC12:\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 26,\n            columnNumber: 25\n          }, this), \" \", featured.value, /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 26,\n            columnNumber: 53\n          }, this), /*#__PURE__*/_jsxDEV(\"b\", {\n            children: \"\\uC124\\uCE58 \\uC704\\uCE58:\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 27,\n            columnNumber: 25\n          }, this), \" \", featured.location]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 25,\n          columnNumber: 21\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 22,\n        columnNumber: 17\n      }, this), /*#__PURE__*/_jsxDEV(\"a\", {\n        className: \"image main\",\n        tabIndex: -1,\n        children: /*#__PURE__*/_jsxDEV(\"img\", {\n          src: featured.image,\n          alt: featured.name\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 31,\n          columnNumber: 21\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 30,\n        columnNumber: 17\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 large\",\n            children: \"\\uC0C1\\uC138 \\uBCF4\\uAE30\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 35,\n            columnNumber: 25\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 34,\n          columnNumber: 21\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 33,\n        columnNumber: 17\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 21,\n      columnNumber: 13\n    }, this), /*#__PURE__*/_jsxDEV(\"section\", {\n      className: \"posts\",\n      children: rest.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: 45,\n            columnNumber: 29\n          }, this), /*#__PURE__*/_jsxDEV(\"h2\", {\n            children: sensor.name\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 46,\n            columnNumber: 29\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 44,\n          columnNumber: 25\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: 49,\n            columnNumber: 29\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 48,\n          columnNumber: 25\n        }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n          children: [/*#__PURE__*/_jsxDEV(\"b\", {\n            children: \"\\uCE21\\uC815\\uAC12:\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 52,\n            columnNumber: 29\n          }, this), \" \", sensor.value, /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 52,\n            columnNumber: 55\n          }, this), /*#__PURE__*/_jsxDEV(\"b\", {\n            children: \"\\uC124\\uCE58 \\uC704\\uCE58:\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 53,\n            columnNumber: 29\n          }, this), \" \", sensor.location]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 51,\n          columnNumber: 25\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: 57,\n              columnNumber: 33\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 56,\n            columnNumber: 29\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 55,\n          columnNumber: 25\n        }, this)]\n      }, sensor.id, true, {\n        fileName: _jsxFileName,\n        lineNumber: 43,\n        columnNumber: 21\n      }, this))\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 41,\n      columnNumber: 13\n    }, this)]\n  }, void 0, true);\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","Fragment","_Fragment","SensorList","_s","sensors","setSensors","get","then","res","data","length","children","fileName","_jsxFileName","lineNumber","columnNumber","featured","rest","className","type","name","value","location","tabIndex","src","image","alt","map","sensor","id","_c","$RefreshReg$"],"sources":["D:/LDT/000 Project/LDT/Client/src/components/SensorList.js"],"sourcesContent":["// src/components/SensorList.js\r\nimport 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\r\n            .get(\"http://localhost:4000/api/sensors\")\r\n            .then((res) => setSensors(res.data));\r\n    }, []);\r\n\r\n    if (sensors.length === 0) return <div>센서 없음</div>;\r\n\r\n    const [featured, ...rest] = sensors; // 첫번째 센서 = 특집, 나머지 = 리스트\r\n\r\n    return (\r\n        <>\r\n            {/* Featured Post */}\r\n            <article className=\"post featured\">\r\n                <header className=\"major\">\r\n                    <span className=\"date\">{featured.type}</span>\r\n                    <h2>{featured.name}</h2>\r\n                    <p>\r\n                        <b>측정값:</b> {featured.value}<br />\r\n                        <b>설치 위치:</b> {featured.location}\r\n                    </p>\r\n                </header>\r\n                <a className=\"image main\" tabIndex={-1}>\r\n                    <img src={featured.image} alt={featured.name} />\r\n                </a>\r\n                <ul className=\"actions special\">\r\n                    <li>\r\n                        <button type=\"button\" className=\"button large\">상세 보기</button>\r\n                    </li>\r\n                </ul>\r\n            </article>\r\n\r\n            {/* 일반 리스트 (카드) */}\r\n            <section className=\"posts\">\r\n                {rest.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>\r\n                            <b>측정값:</b> {sensor.value}<br />\r\n                            <b>설치 위치:</b> {sensor.location}\r\n                        </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\n}\r\n\r\nexport default SensorList;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}