import { STATUS_COLORS, STATUS_LABELS } from "@/lib/constants"; import { useOfficeStore } from "@/store/office-store"; import { getDirector, setMode } from "@/sim/runtime"; import type { AgentStatus } from "@/lib/types"; const LEGEND: AgentStatus[] = ["idle", "thinking", "tool_calling", "speaking", "spawning", "error"]; export function HeaderBar() { const paused = useOfficeStore((s) => s.paused); const setPaused = useOfficeStore((s) => s.setPaused); const speed = useOfficeStore((s) => s.speed); const setSpeed = useOfficeStore((s) => s.setSpeed); const theme = useOfficeStore((s) => s.theme); const setTheme = useOfficeStore((s) => s.setTheme); const mode = useOfficeStore((s) => s.mode); const agentCount = useOfficeStore((s) => s.agents.size); const panelOpen = useOfficeStore((s) => s.panelOpen); const isLive = mode === "live"; return (

Claude Office

multi-agent 虛擬辦公室 · {isLive ? "實況模式" : "模擬模式"}

{LEGEND.map((s) => ( {STATUS_LABELS[s]} ))}
{agentCount} agents {!isLive && ( <> )}
); }