import styles from './LayoutSection.module.css'
import { Sidebar } 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 ───────────────────────────────────────────────────────────────
const SAMPLE_APPS = [
{ id: 'app1', name: 'cameleer-prod', agentCount: 3, health: 'live' as const, exchangeCount: 14320 },
{ id: 'app2', name: 'cameleer-staging', agentCount: 2, health: 'stale' as const, exchangeCount: 871 },
{ id: 'app3', name: 'cameleer-dev', agentCount: 1, health: 'dead' as const, exchangeCount: 42 },
]
const SAMPLE_ROUTES = [
{ id: 'r1', name: 'order-ingest', exchangeCount: 5421 },
{ id: 'r2', name: 'payment-validate', exchangeCount: 3102 },
{ id: 'r3', name: 'notify-customer', exchangeCount: 2201 },
]
const SAMPLE_AGENTS = [
{
id: 'ag1',
name: 'agent-prod-1',
service: 'camel-core',
version: 'v3.2.1',
tps: '42 tps',
lastSeen: '1m ago',
status: 'live' as const,
},
{
id: 'ag2',
name: 'agent-prod-2',
service: 'camel-core',
version: 'v3.2.1',
tps: '38 tps',
lastSeen: '2m ago',
status: 'live' as const,
errorRate: '0.4%',
},
{
id: 'ag3',
name: 'agent-staging-1',
service: 'camel-core',
version: 'v3.1.9',
tps: '5 tps',
lastSeen: '8m ago',
status: 'stale' as const,
},
]
// ── LayoutSection ─────────────────────────────────────────────────────────────
export function LayoutSection() {
return (
Layout
{/* 1. AppShell */}
TopBar — breadcrumb · search · env badge · shift · user avatar
Sidebar
Logo
Search
Navigation
Applications
Routes
Agents
<children> — page content rendered here
{/* 2. Sidebar */}
{/* 3. TopBar */}
undefined}
/>
)
}