ship-gis/node_modules/.cache/babel-loader/b8e315044584fcdc150a04f53d5f87a18c487a07d52700459d3da12ec3a18d61.json

1 line
19 KiB
JSON
Raw Normal View 히스토리

2026-01-23 13:04:07 +09:00
{"ast":null,"code":"var _jsxFileName = \"/Users/laurynj/Desktop/\\u1112\\u1162\\u110B\\u1163\\u11BC\\u1100\\u1167\\u11BC\\u110E\\u1161\\u11AF\\u110B\\u1165\\u11B8 \\u1100\\u1169\\u11BC\\u1100\\u1169\\u11BC\\u1109\\u1161\\u110B\\u1165\\u11B8/@GIS_\\u1112\\u1161\\u11B7\\u110C\\u1165\\u11BC\\u110B\\u116D\\u11BC/GIS_\\u1112\\u1161\\u11B7\\u110C\\u1165\\u11BC\\u110B\\u116D\\u11BC_\\u1105\\u1175\\u110B\\u1162\\u11A8\\u1110\\u1173/dark/src/component/wrap/SideComponent.jsx\",\n _s = $RefreshSig$();\nimport { useState } from 'react';\nimport { useNavigate, useLocation, Routes, Route, Navigate } from 'react-router-dom';\nimport NavComponent from \"./side/NavComponent\";\nimport Panel1Component from \"./side/Panel1Component\"; // 선박\nimport Panel2Component from \"./side/Panel2Component\"; // 위성\nimport Panel3Component from \"./side/Panel3Component\"; // 기상\nimport Panel4Component from \"./side/Panel4Component\"; // 분석\nimport Panel5Component from \"./side/Panel5Component\"; // 타임라인\nimport Panel6Component from \"./side/Panel6Component\"; // AI모드\nimport Panel7Component from \"./side/Panel7Component\"; // 리플레이\nimport Panel8Component from \"./side/Panel8Component\"; // 항적조회\nimport DisplayComponent from \"./side/DisplayComponent\"; // 필터\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function SideComponent() {\n _s();\n const navigate = useNavigate();\n const location = useLocation();\n\n /* =========================\n 패널 열림 상태 (단일 관리)\n ========================= */\n const [isPanelOpen, setIsPanelOpen] = useState(true);\n const handleTogglePanel = () => {\n setIsPanelOpen(prev => !prev);\n };\n\n /* =========================\n URL → activeKey 매핑\n ========================= */\n const getActiveKey = () => {\n const path = location.pathname.split('/')[1];\n switch (path) {\n case 'panel1':\n return 'gnb1';\n case 'panel2':\n return 'gnb2';\n case 'panel3':\n return 'gnb3';\n case 'panel4':\n return 'gnb4';\n case 'panel5':\n return 'gnb5';\n case 'panel6':\n return 'gnb6';\n case 'panel7':\n return 'gnb7';\n case 'panel8':\n return 'gnb8';\n case 'filter':\n return 'filter';\n case 'layer':\n return 'layer';\n default:\n return 'gnb1';\n }\n };\n const activeKey = getActiveKey();\n\n /* =========================\n 네비 클릭 → 라우트 이동\n 패널은 닫지 않음\n ========================= */\n const handleChangePanel = key => {\n // 메뉴 클릭 시 무조건 패널 열기\n setIsPanelOpen(true);\n switch (key) {\n case 'gnb1':\n navigate('/panel1');\n break;\n case 'gnb2':\n navigate('/panel2');\n break;\n case 'gnb3':\n navigate('/panel3');\n break;\n case 'gnb4':\n navigate('/panel4');\n break;\n case 'gnb5':\n navigate('/panel5');\n break;\n case 'gnb6':\n navigate('/panel6');\n break;\n case 'gnb7':\n navigate('/panel7');\n break;\n case 'gnb8':\n navigate('/panel8');\n break;\n case 'filter':\n navigate('/filter');\n break;\n case 'layer':\n navigate('/layer');\n break;\n default:\n navigate('/panel1');\n break;\n }\n };\n\n /* =========================\n 공통 패널 props\n ========================= */\n const panelProps = {\n isOpen: isPanelOpen,\n onToggle: handleTogglePanel\n };\n return /*#__PURE__*/_jsxDEV(\"section\", {\n id: \"sidePanel\",\n children: [/*#__PURE__*/_jsxDEV(NavComponent, {\n activeKey: activeKey,\n onChange: handleChangePanel\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 82,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"sidePanelContent\",\n children: /*#__PURE__*/_jsxDEV(Routes, {