From 275559cc03dc48d35bd1f9cbab4c3c6fcea312c4 Mon Sep 17 00:00:00 2001 From: Henry Fontanier Date: Thu, 25 Jul 2024 17:25:21 +0200 Subject: [PATCH] move viz at the top, remove tabs and improve dust app --- .../assistant/conversation/AgentMessage.tsx | 42 +++++----- .../actions/VisualizationActionIframe.tsx | 81 ++++++++----------- types/src/front/lib/actions/registry.ts | 2 +- 3 files changed, 56 insertions(+), 69 deletions(-) diff --git a/front/components/assistant/conversation/AgentMessage.tsx b/front/components/assistant/conversation/AgentMessage.tsx index 66048b422646..031738dd2c69 100644 --- a/front/components/assistant/conversation/AgentMessage.tsx +++ b/front/components/assistant/conversation/AgentMessage.tsx @@ -509,6 +509,27 @@ export function AgentMessage({ return (
+ <> + {agentMessage.actions + .filter((a) => isVisualizationActionType(a)) + .map((a, i) => { + const streamingViz = streamedVisualizations.find( + (sv) => sv.actionId === a.id + ); + assert(isVisualizationActionType(a)); + return ( + retryHandler(agentMessage)} + owner={owner} + streamedCode={streamingViz?.visualization || null} + /> + ); + })} + {agentMessage.chainOfThought?.length ? (
@@ -556,27 +577,6 @@ export function AgentMessage({ )}
)} - <> - {agentMessage.actions - .filter((a) => isVisualizationActionType(a)) - .map((a, i) => { - const streamingViz = streamedVisualizations.find( - (sv) => sv.actionId === a.id - ); - assert(isVisualizationActionType(a)); - return ( - retryHandler(agentMessage)} - owner={owner} - streamedCode={streamingViz?.visualization || null} - /> - ); - })} - {agentMessage.status === "cancelled" && ( void; }) { - const [activeTab, setActiveTab] = useState<"code" | "runtime">("code"); - const [tabManuallyChanged, setTabManuallyChanged] = useState(false); + // const [activeTab, setActiveTab] = useState<"code" | "runtime">("code"); + const [showIframe, setShowIframe] = useState(null); const [contentHeight, setContentHeight] = useState(0); const workspaceId = owner.sId; @@ -148,11 +148,10 @@ export function VisualizationActionIframe({ }); useEffect(() => { - if (activeTab === "code" && action.generation && !tabManuallyChanged) { - setActiveTab("runtime"); - setTabManuallyChanged(true); + if (showIframe === null && action.generation) { + setShowIframe(true); } - }, [action.generation, activeTab, tabManuallyChanged]); + }, [action.generation, showIframe]); let extractedCode: string | null = null; @@ -161,48 +160,36 @@ export function VisualizationActionIframe({ ); return ( - <> - { - event.preventDefault(); - setActiveTab(tabId as "code" | "runtime"); - }} - /> - {activeTab === "code" && extractedCode && extractedCode.length > 0 && ( - - )} - {activeTab === "runtime" && ( -
-