diff --git a/apps/web/src/components/chat/QueuedRunsControl.tsx b/apps/web/src/components/chat/QueuedRunsControl.tsx index 763d3ab435e00..c191e1397f228 100644 --- a/apps/web/src/components/chat/QueuedRunsControl.tsx +++ b/apps/web/src/components/chat/QueuedRunsControl.tsx @@ -56,6 +56,42 @@ function queuedImageResources(projection: ThreadQueueProjection | undefined) { ); } +function QueuedMessageText({ + text, + guestName, + compact, + position, +}: { + readonly text: string; + readonly guestName: string | undefined; + readonly compact: boolean; + readonly position: number; +}) { + const content = ( + <> + {guestName === undefined ? null : {guestName} } + {text} + + ); + if (!compact) return

{content}

; + return ( +
+ + {position}. + + {content} + + Hide full message + + +

{content}

+
+ ); +} + export function QueuedRunsControl({ ref, ...props @@ -207,6 +243,7 @@ export function QueuedRunsControl({ }; const collapsible = items.length > QUEUE_VISIBLE_ROWS; + const compact = collapsible && showAll; const visibleItems = collapsible && !showAll ? items.slice(0, QUEUE_VISIBLE_ROWS - 1) : items; return ( @@ -218,7 +255,13 @@ export function QueuedRunsControl({ {items.length} queued -
    +
      {visibleItems.map((item, position) => { const previewText = assistantCitationsToPlainText( replaceComposerContextReferences(item.text, (reference) => @@ -238,7 +281,8 @@ export function QueuedRunsControl({ {/* Dashed and unfilled: a turn that has not been sent yet. */}
      ) : null} - {/* In full, like a sent turn: a queued message is read before it is sent. */} {previewText ? ( -

      - {item.guestName === undefined ? null : ( - {item.guestName} - )} - {previewText} -

      + ) : null}