/* * DESIGN: "Sovereign Terminal" — Left sidebar with stacked status panels * Each panel has a 2px Bitcoin orange top border and monospace headers */ import { Activity, Bell, Zap, Users, ChevronRight } from "lucide-react"; import { Badge } from "@/components/ui/badge"; import { AGENT_CATALOG, MOCK_HEALTH, MOCK_NOTIFICATIONS, } from "@/lib/data"; interface StatusSidebarProps { onSelectAgent: (id: string) => void; selectedAgent: string | null; } export default function StatusSidebar({ onSelectAgent, selectedAgent }: StatusSidebarProps) { return (
{/* System Health Panel */}
// SYSTEM HEALTH
Ollama {MOCK_HEALTH.ollama.toUpperCase()}
Model {MOCK_HEALTH.model}
Swarm {MOCK_HEALTH.swarmRegistry.toUpperCase()}
Uptime {MOCK_HEALTH.uptime}
Tasks {MOCK_HEALTH.completedTasks} / {MOCK_HEALTH.totalTasks}
{/* Agents Panel */}
// AGENTS
{AGENT_CATALOG.map((agent) => ( ))}
{/* L402 Balance Panel */}
// L402 TREASURY
₿ {MOCK_HEALTH.l402Balance.toLocaleString()}
satoshis available
Protocol L402 / Lightning
Macaroon Valid
Network Testnet
{/* Notifications Panel */}
// NOTIFICATIONS
{MOCK_NOTIFICATIONS.filter(n => !n.read).length} new
{MOCK_NOTIFICATIONS.slice(0, 4).map((notif) => (
{!notif.read && } {notif.title} {getCategoryIcon(notif.category)}

{notif.message}

))}
); } function getCategoryIcon(category: string): string { switch (category) { case "swarm": return "⚡"; case "task": return "📋"; case "agent": return "🤖"; case "system": return "⚙️"; case "payment": return "₿"; default: return "•"; } }