import { useState } from "react"; import { WorkbenchApiError } from "../api/client"; import { useChatTurn } from "../api/queries"; import { EmptyState } from "../design/components/states/EmptyState"; import { ErrorState } from "../design/components/states/ErrorState"; import { LoadingState } from "../design/components/states/LoadingState"; import { PromptComposer } from "../app/chat/PromptComposer"; import { ResponseCard } from "../app/chat/ResponseCard"; import { TraceDrawer } from "../app/chat/TraceDrawer"; import type { TraceFocus } from "../app/chat/EvidenceStrip"; export function ChatRoute() { const chatTurn = useChatTurn(); const [drawerOpen, setDrawerOpen] = useState(false); const [drawerFocus, setDrawerFocus] = useState("metadata"); function openTrace(focus: TraceFocus) { setDrawerFocus(focus); setDrawerOpen(true); } const error = chatTurn.error; return (
chatTurn.mutate({ prompt })} /> {chatTurn.isPending ? : null} {chatTurn.isError ? ( ) : null} {!chatTurn.data && !chatTurn.isPending && !chatTurn.isError ? ( ) : null} {chatTurn.data ? : null}
); }