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'; /** 기존 패널이 있는 메뉴 ID 매핑 */ const PANEL_MAP: Record JSX.Element> = { users: () => , permissions: () => , menus: () => , settings: () => , notice: () => , board: () => , qna: () => , 'collect-vessel-signal': () => , 'cleanup-equip': () => , 'asset-upload': () => , }; 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()}
); }