import { getThreatColor, IMPERIUM_DATA } from '../../lib/infrastructure/imperium-data'; import { cn } from '../../lib/infrastructure/utils'; import { Activity, BookOpen, ChevronRight, Cpu, Crown, Database, Globe2, Map, Menu, Network, Radio, Satellite, Server, Shield, Users, X, Zap, } from 'lucide-react'; import React, { useState } from 'react'; import { Link, useLocation } from 'wouter'; const NAV_ITEMS = [ { path: '/infrastructure', label: 'EXECUTIVE CONSOLE', sublabel: 'Executive Overview', icon: Crown, }, { path: '/infrastructure/imperium-map', label: 'RESOURCE MAP', sublabel: 'Resource Hierarchy', icon: Map, }, { path: '/infrastructure/praetorian', label: 'SECURITY PERIMETER', sublabel: 'Security Controls', icon: Shield, }, { path: '/infrastructure/senate', label: 'GOVERNANCE BOARD', sublabel: 'Change Management', icon: BookOpen, }, { path: '/infrastructure/supply-lines', label: 'NETWORK TOPOLOGY', sublabel: 'Service Mesh Routes', icon: Network, }, { path: '/infrastructure/centurion', label: 'AI OPERATIONS', sublabel: 'Agent Profiles', icon: Cpu, }, { path: '/infrastructure/intelligence', label: 'INTELLIGENCE', sublabel: 'Signals Briefing', icon: Radio, }, { path: '/infrastructure/geospatial', label: 'GEOSPATIAL', sublabel: 'Intelligence Layers', icon: Satellite, }, { path: '/infrastructure/directives', label: 'DIRECTIVE CASCADE', sublabel: 'Command & Control', icon: Zap, }, { path: '/infrastructure/coalition', label: 'COALITION', sublabel: 'Stakeholder Manager', icon: Users, }, { path: '/infrastructure/reserves', label: 'STRATEGIC RESERVES', sublabel: 'Reserve Drawdown', icon: Database, }, { path: '/infrastructure/substrate', label: 'SUBSTRATE INFERENCE', sublabel: 'Edge GPU / oLLM', icon: Server, }, ]; function ThreatBadge({ level }: { level: string }) { const color = getThreatColor(level as 'low' | 'medium' | 'high' | 'critical'); return (
{level}
); } export function ImperiumLayout({ children }: { children: React.ReactNode }) { const [location] = useLocation(); const [mobileOpen, setMobileOpen] = useState(false); const imperium = IMPERIUM_DATA; return (
{/* Sidebar */} {/* Mobile overlay */} {mobileOpen && (
setMobileOpen(false)} /> )} {/* Main content */}
{/* Top bar */}
PLATFORM SZLHOLDINGS / {NAV_ITEMS.find( (n) => location === n.path || (n.path !== '/infrastructure' && location.startsWith(n.path)), )?.label || 'COMMAND'}
ALL SYSTEMS ACTIVE
{new Date().toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false, })}{' '} UTC
{/* Content */}
{children}
); }