//
— the agent page's identity strip: icon, glyphic title, the // "swarm / hive" label row, and a slot for the status row // (`` — ../status-chips/, kept separate so this component // has no opinion on what badges exist). Structurally the same // three-row shape as the old `#agent-header` markup in index.html // (icon · main · pills) — see `docs/web-ui.md::Per-agent page` — this // is a like-for-like layout port, the redesign work is in the children. // Reuses `agent.css`'s existing `.agent-header*`/`.agent-icon` rules // (loaded globally by index.html) rather than a component-scoped // stylesheet — no new visual language needed for the chrome itself. import type { ComponentChildren } from 'preact'; export interface HeaderProps { label: string; hiveLabel?: string | null; children?: ComponentChildren; /** Right-cluster flyout triggers (inbox/todos pills today, the * overflow menu button lands here in a later commit) — mirrors the * old markup's `.agent-header-pills` third column. */ pills?: ComponentChildren; } export function Header({ label, hiveLabel, children, pills }: HeaderProps) { return (

◆ {label} ◆

{hiveLabel ?
{hiveLabel}
: null}
{children}
{pills ?
{pills}
: null}
); }