import type { ReactNode } from 'react'; import { Link, useRouterState } from '@tanstack/react-router'; import { Home, Building2, FileText, TrendingUp, Lightbulb, ShoppingCart, Wallet, ShieldCheck, Activity, Download, Cpu, Radar, Terminal, LayoutDashboard, List, Globe, BarChart3, Bot, } from 'lucide-react'; interface NavItem { to: string; label: string; icon: ReactNode; group?: string; } const navItems: NavItem[] = [ { to: '/', label: 'Home', icon: }, { to: '/companies', label: 'Companies', icon: , group: 'Data' }, { to: '/watchlists', label: 'Watchlists', icon: , group: 'Data' }, { to: '/documents', label: 'Documents', icon: , group: 'Data' }, { to: '/trends', label: 'Trends', icon: , group: 'Intelligence' }, { to: '/recommendations', label: 'Recommendations', icon: , group: 'Intelligence' }, { to: '/macro/events', label: 'Global Events', icon: , group: 'Intelligence' }, { to: '/orders', label: 'Orders', icon: , group: 'Trading' }, { to: '/positions', label: 'Positions', icon: , group: 'Trading' }, { to: '/trading', label: 'Trading Controls', icon: , group: 'Trading' }, { to: '/trading/engine', label: 'Trading Engine', icon: , group: 'Trading' }, { to: '/ops/pipeline', label: 'Pipeline', icon: , group: 'Ops' }, { to: '/ops/ingestion', label: 'Ingestion', icon: , group: 'Ops' }, { to: '/ops/model', label: 'Model Perf', icon: , group: 'Ops' }, { to: '/agents', label: 'Agents', icon: , group: 'Ops' }, { to: '/ops/coverage', label: 'Coverage', icon: , group: 'Ops' }, { to: '/analytics/query', label: 'SQL Explorer', icon: , group: 'Analytics' }, { to: '/analytics/dashboards', label: 'Dashboards', icon: , group: 'Analytics' }, ]; export function AppLayout({ children }: { children: ReactNode }) { const routerState = useRouterState(); const currentPath = routerState.location.pathname; let lastGroup: string | undefined; return (
{/* Sidebar */} {/* Main content */}
{children}
); }