From cdea2404e3f8b54cd959c265c03908b107490e50 Mon Sep 17 00:00:00 2001 From: Theodore Li Date: Tue, 24 Mar 2026 17:19:04 -0700 Subject: [PATCH] improvement(ui): Merge ui components for mothership chat (#3748) * improvement(ui): Merge ui definitions for mothership chat * Fix lint * Restore copilot layout * Fix subagent text not animating collapses --------- Co-authored-by: Theodore Li --- .../[workspaceId]/home/components/index.ts | 1 + .../components/agent-group/agent-group.tsx | 20 +- .../message-content/message-content.tsx | 2 +- .../mothership-chat/mothership-chat.tsx | 190 ++++++++++++++++++ .../app/workspace/[workspaceId]/home/home.tsx | 139 +++---------- .../[workspaceId]/home/hooks/index.ts | 6 +- .../[workspaceId]/home/hooks/use-chat.ts | 25 ++- .../w/[workflowId]/components/panel/panel.tsx | 118 +++-------- 8 files changed, 292 insertions(+), 209 deletions(-) create mode 100644 apps/sim/app/workspace/[workspaceId]/home/components/mothership-chat/mothership-chat.tsx diff --git a/apps/sim/app/workspace/[workspaceId]/home/components/index.ts b/apps/sim/app/workspace/[workspaceId]/home/components/index.ts index 558486dae7..209ca78170 100644 --- a/apps/sim/app/workspace/[workspaceId]/home/components/index.ts +++ b/apps/sim/app/workspace/[workspaceId]/home/components/index.ts @@ -3,6 +3,7 @@ export { assistantMessageHasRenderableContent, MessageContent, } from './message-content' +export { MothershipChat } from './mothership-chat/mothership-chat' export { MothershipView } from './mothership-view' export { QueuedMessages } from './queued-messages' export { TemplatePrompts } from './template-prompts' diff --git a/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/agent-group/agent-group.tsx b/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/agent-group/agent-group.tsx index ac024b84c8..12f5f454d4 100644 --- a/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/agent-group/agent-group.tsx +++ b/apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/agent-group/agent-group.tsx @@ -44,6 +44,21 @@ export function AgentGroup({ const [expanded, setExpanded] = useState(defaultExpanded || !allDone) const [mounted, setMounted] = useState(defaultExpanded || !allDone) const didAutoCollapseRef = useRef(allDone) + const wasAutoExpandedRef = useRef(defaultExpanded) + + useEffect(() => { + if (defaultExpanded) { + wasAutoExpandedRef.current = true + setMounted(true) + setExpanded(true) + return + } + + if (wasAutoExpandedRef.current && allDone) { + wasAutoExpandedRef.current = false + setExpanded(false) + } + }, [defaultExpanded, allDone]) useEffect(() => { if (!autoCollapse || didAutoCollapseRef.current) return @@ -65,7 +80,10 @@ export function AgentGroup({ {hasItems ? (