import { TUI_COLORS } from "@/lib/tui/shared/colors";
import { ShortcutHint } from "@/lib/tui/shared/ShortcutHint";
import type { FocusedPane } from "@/lib/tui/workspace/workspace-types";
interface StatusBarProps {
hasSession: boolean;
canFixPendingSession: boolean;
focusedPane: FocusedPane;
outputVisible: boolean;
stopPickerOpen?: boolean;
liveRefreshError?: string | null;
configWarning?: string | null;
}
function focusPaneLabel(pane: FocusedPane): string {
switch (pane) {
case "sidebar":
return "Sessions";
case "detail":
return "Detail";
case "output":
return "Output";
}
}
export function StatusBar({
hasSession,
canFixPendingSession,
focusedPane,
outputVisible,
stopPickerOpen = false,
liveRefreshError = null,
configWarning = null,
}: StatusBarProps) {
if (stopPickerOpen) {
return (
Focus: Session Picker
);
}
return (
{!hasSession && }
{hasSession && }
{canFixPendingSession && }
{liveRefreshError && (
Live warning: {liveRefreshError}
)}
{configWarning && (
Config warning: {configWarning}
)}
Focus: {focusPaneLabel(focusedPane)}
);
}