import { Suspense, lazy, useState } from 'react' import { cn } from '@/lib/utils' const ExportTab = lazy(() => import('./ExportTab')) const ImportTab = lazy(() => import('./ImportTab')) const LogsTab = lazy(() => import('./LogsTab')) const SprocketTab = lazy(() => import('./SprocketTab')) const PolicyTab = lazy(() => import('./PolicyTab')) const CurationTab = lazy(() => import('./CurationTab')) const ManagedACLTab = lazy(() => import('./ManagedACLTab')) const BlossomAdminTab = lazy(() => import('./BlossomAdminTab')) const EventBrowserTab = lazy(() => import('./EventBrowserTab')) const RecoveryTab = lazy(() => import('./RecoveryTab')) const TABS = [ { id: 'events', label: 'Events' }, { id: 'export', label: 'Export' }, { id: 'import', label: 'Import' }, { id: 'policy', label: 'Policy' }, { id: 'curation', label: 'Curation' }, { id: 'acl', label: 'Managed ACL' }, { id: 'sprocket', label: 'Sprockets' }, { id: 'logs', label: 'Logs' }, { id: 'blossom', label: 'Blossom' }, { id: 'recovery', label: 'Recovery' } ] as const type TabId = (typeof TABS)[number]['id'] function TabContent({ tab }: { tab: TabId }) { switch (tab) { case 'events': return case 'export': return case 'import': return case 'policy': return case 'curation': return case 'acl': return case 'sprocket': return case 'logs': return case 'blossom': return case 'recovery': return } } export default function RelayAdminPanel() { const [activeTab, setActiveTab] = useState('events') return ( {TABS.map((tab) => ( setActiveTab(tab.id)} className={cn( 'whitespace-nowrap rounded-md px-3 py-1.5 text-sm transition-colors', activeTab === tab.id ? 'bg-primary text-primary-foreground font-medium' : 'text-muted-foreground hover:bg-muted hover:text-foreground' )} > {tab.label} ))} Loading... } > ) }