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}
);
}