From 41ce469901c70df507f6190b105b752bcdc463b9 Mon Sep 17 00:00:00 2001 From: Ishaan Gupta Date: Tue, 2 Jun 2026 20:19:38 +0530 Subject: [PATCH] Move queued prompt preview into composer --- apps/web/components/chat/index.tsx | 9 ++---- apps/web/components/chat/input/index.tsx | 35 +++++++++++++++++++++++- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/apps/web/components/chat/index.tsx b/apps/web/components/chat/index.tsx index 36a7c583..1c604f9a 100644 --- a/apps/web/components/chat/index.tsx +++ b/apps/web/components/chat/index.tsx @@ -1322,13 +1322,8 @@ export function ChatSidebar({ ))} {(status === "submitted" || status === "streaming") && ( -
+
- {messageQueue.length > 0 && ( - - QUEUED - - )}
)}
@@ -1428,6 +1423,8 @@ export function ChatSidebar({ ? "Structuring response…" : "Waiting for input…" } + queuedMessagePreview={messageQueue[0]?.text ?? null} + queuedMessageCount={messageQueue.length} showStatusStrip={showInputStatusStrip} onExpandedChange={setIsInputExpanded} chainOfThoughtComponent={ diff --git a/apps/web/components/chat/input/index.tsx b/apps/web/components/chat/input/index.tsx index b17ad6aa..5e6a7219 100644 --- a/apps/web/components/chat/input/index.tsx +++ b/apps/web/components/chat/input/index.tsx @@ -18,6 +18,8 @@ interface ChatInputProps { sendDisabled?: boolean sendDisabledTooltip?: string activeStatus?: string + queuedMessagePreview?: string | null + queuedMessageCount?: number chainOfThoughtComponent?: React.ReactNode onExpandedChange?: (expanded: boolean) => void /** Model + space controls on one row with send; textarea full-width above */ @@ -36,6 +38,8 @@ export default function ChatInput({ sendDisabled = false, sendDisabledTooltip, activeStatus, + queuedMessagePreview, + queuedMessageCount = 0, chainOfThoughtComponent, onExpandedChange, stackedToolbar, @@ -45,6 +49,7 @@ export default function ChatInput({ const [isExpanded, setIsExpanded] = useState(false) const textareaRef = useRef(null) const isSendDisabled = !value.trim() || sendDisabled + const hasQueuedPreview = !!queuedMessagePreview && queuedMessageCount > 0 const resolvedSendDisabledTooltip = sendDisabled && value.trim() ? sendDisabledTooltip @@ -110,7 +115,8 @@ export default function ChatInput({ + {hasQueuedPreview && ( + +
+ + QUEUED + + + {queuedMessagePreview} + + {queuedMessageCount > 1 && ( + + +{queuedMessageCount - 1} + + )} +
+
+ )} ) : null} {stackedToolbar ? (