'use client' import { theme } from './theme' import { Tabs } from './components/Tabs' import type { TabItem } from './components/Tabs' import { useShieldX } from './hooks' import { DashboardHome } from './pages/DashboardHome' import { KillChainView } from './pages/KillChainView' import { IncidentFeed } from './pages/IncidentFeed' import { LearningDashboard } from './pages/LearningDashboard' import { AttackGraphViewer } from './pages/AttackGraphViewer' import { BehavioralMonitor } from './pages/BehavioralMonitor' import { ComplianceCenter } from './pages/ComplianceCenter' import { HealingLog } from './pages/HealingLog' import { ReviewQueue } from './pages/ReviewQueue' import { ConfigPanel } from './pages/ConfigPanel' import { ProtectedLLMs } from './pages/ProtectedLLMs' export interface ShieldXDashboardProps { readonly defaultTab?: string readonly className?: string } const TABS: readonly TabItem[] = [ { key: 'overview', label: 'Overview', content: () => }, { key: 'killchain', label: 'Kill Chain', content: () => }, { key: 'incidents', label: 'Incidents', content: () => }, { key: 'learning', label: 'Learning', content: () => }, { key: 'attackgraph', label: 'Attack Graph', content: () => }, { key: 'behavioral', label: 'Behavioral', content: () => }, { key: 'compliance', label: 'Compliance', content: () => }, { key: 'healing', label: 'Healing', content: () => }, { key: 'review', label: 'Review', content: () => }, { key: 'config', label: 'Config', content: () => }, { key: 'endpoints', label: 'Protected LLMs', content: () => }, ] export function ShieldXDashboard({ defaultTab, className }: ShieldXDashboardProps) { const { error } = useShieldX() return (
{/* Header */}
SX
ShieldX
LLM Defense Dashboard
Live
{/* Error bar */} {error ? (
{error}
) : null} {/* Content */}
) }