diff --git a/frontend/src/components/assistant/ViewToggle.tsx b/frontend/src/components/assistant/ViewToggle.tsx new file mode 100644 index 00000000..a0395547 --- /dev/null +++ b/frontend/src/components/assistant/ViewToggle.tsx @@ -0,0 +1,50 @@ +import { useNavigate } from 'react-router-dom' +import { cn } from '@/lib/utils' +import { useFeatureFlag } from '@/hooks/useFeatureFlag' + +interface ViewToggleProps { + currentView: 'flowpilot' | 'cockpit' + sessionId: string +} + +export function ViewToggle({ currentView, sessionId }: ViewToggleProps) { + const navigate = useNavigate() + const hasCockpit = useFeatureFlag('flowpilot_cockpit') + + if (!hasCockpit) return null + + const handleSwitch = (view: 'flowpilot' | 'cockpit') => { + if (view === currentView) return + const path = view === 'cockpit' + ? `/cockpit/${sessionId}` + : `/assistant/${sessionId}` + navigate(path) + } + + return ( +
+ + +
+ ) +} diff --git a/frontend/src/pages/CockpitPage.tsx b/frontend/src/pages/CockpitPage.tsx index bee2c2eb..63414a2d 100644 --- a/frontend/src/pages/CockpitPage.tsx +++ b/frontend/src/pages/CockpitPage.tsx @@ -11,8 +11,7 @@ import { IncidentHeader } from '@/components/assistant/IncidentHeader' import { StepsPanel } from '@/components/assistant/StepsPanel' import { FlowPilotAsks } from '@/components/assistant/FlowPilotAsks' import { WhatWeKnow } from '@/components/assistant/WhatWeKnow' -// TODO: uncomment after Task 4 -// import { ViewToggle } from '@/components/assistant/ViewToggle' +import { ViewToggle } from '@/components/assistant/ViewToggle' import { useAssistantSession } from '@/hooks/useAssistantSession' import { useFeatureFlag } from '@/hooks/useFeatureFlag' import type { TriageMeta, EvidenceItem, TriageUpdate } from '@/types/ai-session' @@ -248,8 +247,7 @@ export default function CockpitPage() { onResolve={() => session.setShowConclude(true)} onClose={() => session.setShowConclude(true)} /> - {/* TODO: uncomment after Task 4 */} - {/* */} + {/* Resizable work zone + conversation log split */}
diff --git a/frontend/src/pages/FlowPilotPage.tsx b/frontend/src/pages/FlowPilotPage.tsx index 6ff76b53..ece0c041 100644 --- a/frontend/src/pages/FlowPilotPage.tsx +++ b/frontend/src/pages/FlowPilotPage.tsx @@ -8,8 +8,7 @@ import { ChatMessage } from '@/components/assistant/ChatMessage' import { TaskLane } from '@/components/assistant/TaskLane' import { ConcludeSessionModal } from '@/components/assistant/ConcludeSessionModal' import { StatusUpdateModal } from '@/components/flowpilot/StatusUpdateModal' -// TODO: uncomment after Task 4 -// import { ViewToggle } from '@/components/assistant/ViewToggle' +import { ViewToggle } from '@/components/assistant/ViewToggle' import { useAssistantSession } from '@/hooks/useAssistantSession' export default function FlowPilotPage() { @@ -116,10 +115,9 @@ export default function FlowPilotPage() { Chats
- {/* TODO: uncomment after Task 4 */} - {/* {session.activeChatId && ( + {session.activeChatId && ( - )} */} + )}