import { useState } from 'react'; import AdminSidebar from './AdminSidebar'; import AdminPlaceholder from './AdminPlaceholder'; import { findMenuLabel } from './adminMenuConfig'; import UsersPanel from './UsersPanel'; import PermissionsPanel from './PermissionsPanel'; import MenusPanel from './MenusPanel'; import SettingsPanel from './SettingsPanel'; import BoardMgmtPanel from './BoardMgmtPanel'; import VesselSignalPanel from './VesselSignalPanel'; import CleanupEquipPanel from './CleanupEquipPanel'; import AssetUploadPanel from './AssetUploadPanel'; import MapBasePanel from './MapBasePanel'; import LayerPanel from './LayerPanel'; import SensitiveLayerPanel from './SensitiveLayerPanel'; import DispersingZonePanel from './DispersingZonePanel'; import MonitorRealtimePanel from './MonitorRealtimePanel'; import MonitorVesselPanel from './MonitorVesselPanel'; import CollectHrPanel from './CollectHrPanel'; import MonitorForecastPanel from './MonitorForecastPanel'; import VesselMaterialsPanel from './VesselMaterialsPanel'; /** 기존 패널이 있는 메뉴 ID 매핑 */ const PANEL_MAP: Record JSX.Element> = { users: () => , permissions: () => , menus: () => , settings: () => , notice: () => , board: () => , qna: () => , 'collect-vessel-signal': () => , 'cleanup-equip': () => , 'asset-upload': () => , 'map-base': () => , 'map-layer': () => , 'env-ecology': () => , 'social-economy': () => , 'dispersant-zone': () => , 'vessel-materials': () => , 'monitor-realtime': () => , 'monitor-vessel': () => , 'collect-hr': () => , 'monitor-forecast': () => , }; export function AdminView() { const [activeMenu, setActiveMenu] = useState('users'); const renderContent = () => { const factory = PANEL_MAP[activeMenu]; if (factory) return factory(); const label = findMenuLabel(activeMenu) ?? activeMenu; return ; }; return (
{renderContent()}
); }