import { useCallback, useState } from "react"; import { DashboardAgentComposer } from "./DashboardAgentComposer"; import { DashboardAgentContextBanner } from "./DashboardAgentContextBanner"; import { DashboardAgentSuggestedPrompts } from "./DashboardAgentSuggestedPrompts"; /** * The new-chat "draft" state: suggested prompts + composer with no transport * mounted and no chat id yet. The chat id is server-owned, so the first send * goes to the panel's `create` call, which generates the id and returns it; * only then does the real `DashboardAgentChat` mount. The client never invents * a chat id. */ export function DashboardAgentDraft({ onSubmit, projectSlug, environmentSlug, currentPage, }: { onSubmit: (text: string) => void; projectSlug: string; environmentSlug: string; currentPage: string; }) { const [input, setInput] = useState(""); const submit = useCallback( (text: string) => { const trimmed = text.trim(); if (!trimmed) return; setInput(""); onSubmit(trimmed); }, [onSubmit] ); return ( <> submit(input)} onStop={() => {}} isStreaming={false} /> ); }