import type { ModelState, PipelineStage } from "@/lib/types"; const STAGE_LABELS: Record = { idle: "Define your academy objective and source material.", ingesting: "Analysing inputs into a structured blueprint.", reasoning: "Designing the execution architecture.", generating: "Composing interface and learner experience.", producing: "Packaging a complete academy output.", done: "Pipeline complete. Ready for review and deployment.", error: "Pipeline halted. Resolve errors, then continue." }; const STAGE_COLORS: Record = { idle: "text-slate-400", ingesting: "text-cyan-400", reasoning: "text-violet-400", generating: "text-amber-400", producing: "text-orange-400", done: "text-emerald-400", error: "text-red-400" }; type DotStyle = { bg: string; glow?: string }; const MODEL_DOT: Record = { active: { bg: "bg-cyan-400", glow: "0 0 10px rgba(6,182,212,0.95)" }, standby: { bg: "bg-slate-700" }, error: { bg: "bg-red-500", glow: "0 0 10px rgba(239,68,68,0.90)" } }; type StatusBarProps = { stage: PipelineStage; models: ModelState[]; onAssistant?: () => void; assistantActive?: boolean; }; export function StatusBar({ stage, models: _models, onAssistant, assistantActive }: StatusBarProps) { return (
{/* Brand */} Nexus Director {/* Stage objective label */}

{STAGE_LABELS[stage]}

{/* Right: pipeline stage + Director AI button */}
{onAssistant && ( )}
); }