diff --git a/packages/dashboard/app/components/TaskChatTab.css b/packages/dashboard/app/components/TaskChatTab.css index 01b6392418..839257f0f8 100644 --- a/packages/dashboard/app/components/TaskChatTab.css +++ b/packages/dashboard/app/components/TaskChatTab.css @@ -1,4 +1,5 @@ .task-chat-tab { + position: relative; display: flex; flex: 1; flex-direction: column; @@ -11,9 +12,16 @@ .task-chat-expand-toggle { display: inline-flex; align-items: center; - gap: var(--space-xs); + justify-content: center; + min-inline-size: var(--space-2xl); + min-block-size: var(--space-2xl); + padding: 0; } +/* +FNXC:TaskChat 2026-06-13-00:00: +FN-6425 requires the chat expand control to stay inside the chat view as an icon-only affordance while remaining reachable at every transcript scroll offset. Anchor it to the non-scrolling task-chat wrapper rather than the transcript content. +*/ .task-chat-expand-toggle--overlay { position: absolute; top: var(--space-md); diff --git a/packages/dashboard/app/components/TaskChatTab.tsx b/packages/dashboard/app/components/TaskChatTab.tsx index 7c42b98b95..cb85c0a6b5 100644 --- a/packages/dashboard/app/components/TaskChatTab.tsx +++ b/packages/dashboard/app/components/TaskChatTab.tsx @@ -621,6 +621,19 @@ export function TaskChatTab({ task, projectId, active, addToast, sessionLive, on return (
+ {onToggleExpanded ? ( + + ) : null}
- {onToggleExpanded ? ( - - ) : null} {loading && transcriptItemCount === 0 ? (