feat(web): MS23-P2-002 OrchestratorPanel SSE stream component
All checks were successful
ci/woodpecker/push/ci Pipeline was successful

This commit is contained in:
2026-03-07 14:14:57 -06:00
parent a61106c24a
commit 631ba499e3
5 changed files with 328 additions and 17 deletions

View File

@@ -2,10 +2,15 @@
import { GlobalAgentRoster } from "@/components/mission-control/GlobalAgentRoster";
import { MissionControlPanel } from "@/components/mission-control/MissionControlPanel";
import { useSessions } from "@/hooks/useMissionControl";
const DEFAULT_PANEL_SLOTS = ["panel-1", "panel-2", "panel-3", "panel-4"] as const;
export function MissionControlLayout(): React.JSX.Element {
const { sessions } = useSessions();
const panelSessionIds = [sessions[0]?.id, undefined, undefined, undefined] as const;
return (
<section className="h-full min-h-0 overflow-hidden" aria-label="Mission Control">
<div className="grid h-full min-h-0 gap-4 xl:grid-cols-[280px_minmax(0,1fr)]">
@@ -13,7 +18,7 @@ export function MissionControlLayout(): React.JSX.Element {
<GlobalAgentRoster />
</aside>
<main className="h-full min-h-0 overflow-hidden">
<MissionControlPanel panels={DEFAULT_PANEL_SLOTS} />
<MissionControlPanel panels={DEFAULT_PANEL_SLOTS} panelSessionIds={panelSessionIds} />
</main>
</div>
</section>