import { useWorkspaceStore } from "../workspace/store"; import { useSharedSessionDetection } from "../terminal/use-shared-session-detection"; import { BootstrapOverlay } from "./bootstrap-overlay"; import { SessionControls } from "./session-controls"; import { TabStrip } from "./tab-strip"; import { TerminalPane } from "./terminal-pane"; export function TerminalWorkspace({ workspace }: { workspace: string }) { const activeTab = useWorkspaceStore((s) => s.tabs.find((t) => t.id === s.activeTabId)); const reconnectKey = useWorkspaceStore((s) => s.reconnectKeys[s.activeTabId] ?? 0); const setConnectionState = useWorkspaceStore((s) => s.setConnectionState); const connectionState = useWorkspaceStore((s) => s.connectionStates[s.activeTabId] ?? "disconnected"); useSharedSessionDetection(activeTab?.sessionId ?? ""); if (!activeTab) return null; const showOverlay = connectionState === "disconnected" || connectionState === "connecting" || connectionState === "reconnecting"; return ( <> Skip to terminal
setConnectionState(activeTab.id, state)} /> {showOverlay && }
); }