/** * ChatTabStrip — two-tab strip at the top of the chat region: * [Chat] [Script Builder ●] * * Visibility is controlled by the parent (AssistantChatPage) — this * component renders whenever it's mounted. The parent decides whether * to mount it based on fix state. * * Tab switching uses onChange; the parent toggles display:none on the * tab contents so state is preserved across switches. */ import { cn } from '@/lib/utils' export type ChatTab = 'chat' | 'script_builder' export interface ChatTabStripProps { active: ChatTab onChange: (tab: ChatTab) => void /** When true, shows the amber indicator dot on the Script Builder tab. */ scriptBuilderHasProgress?: boolean } export function ChatTabStrip({ active, onChange, scriptBuilderHasProgress, }: ChatTabStripProps) { return (