import styles from './LayoutSection.module.css' import { Sidebar } from '../../../design-system/layout/Sidebar/Sidebar' import type { SidebarApp } from '../../../design-system/layout/Sidebar/Sidebar' import { TopBar } from '../../../design-system/layout/TopBar/TopBar' // ── DemoCard helper ────────────────────────────────────────────────────────── interface DemoCardProps { id: string title: string description: string children: React.ReactNode } function DemoCard({ id, title, description, children }: DemoCardProps) { return (

{title}

{description}

{children}
) } // ── Sample data (hierarchical) ─────────────────────────────────────────────── const SAMPLE_APPS: SidebarApp[] = [ { id: 'app1', name: 'cameleer-prod', health: 'live' as const, exchangeCount: 14320, routes: [ { id: 'r1', name: 'order-ingest', exchangeCount: 5421 }, { id: 'r2', name: 'payment-validate', exchangeCount: 3102 }, ], agents: [ { id: 'ag1', name: 'agent-prod-1', status: 'live' as const, tps: 42 }, { id: 'ag2', name: 'agent-prod-2', status: 'live' as const, tps: 38 }, ], }, { id: 'app2', name: 'cameleer-staging', health: 'stale' as const, exchangeCount: 871, routes: [ { id: 'r3', name: 'notify-customer', exchangeCount: 2201 }, ], agents: [ { id: 'ag3', name: 'agent-staging-1', status: 'stale' as const, tps: 5 }, ], }, { id: 'app3', name: 'cameleer-dev', health: 'dead' as const, exchangeCount: 42, routes: [], agents: [], }, ] // ── LayoutSection ───────────────────────────────────────────────────────────── export function LayoutSection() { return (

Layout

{/* 1. AppShell */}
TopBar — breadcrumb · search · filters · time range · env badge · user avatar
Sidebar Logo Search Navigation Applications tree Agents tree Starred
<children> — page content rendered here
{/* 2. Sidebar */}
{/* 3. TopBar */}
) }