From 518cacf56e245463be9ed0f1d96aef8aa8d56a26 Mon Sep 17 00:00:00 2001 From: "DESKTOP-RTLN3BA\\$punk" Date: Tue, 7 Apr 2026 05:03:20 -0700 Subject: [PATCH 1/2] refactor: improve AssistantActionBar functionality and UI elements - Removed unused quick ask mode state and effect, simplifying the component logic. - Updated tooltip descriptions for action buttons to provide clearer user guidance. - Enhanced the conditional rendering for the quick assist feature, improving user interaction with the clipboard functionality. --- .../assistant-ui/assistant-message.tsx | 28 ++++++------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/surfsense_web/components/assistant-ui/assistant-message.tsx b/surfsense_web/components/assistant-ui/assistant-message.tsx index d0cada0bd..5567cfca8 100644 --- a/surfsense_web/components/assistant-ui/assistant-message.tsx +++ b/surfsense_web/components/assistant-ui/assistant-message.tsx @@ -465,16 +465,8 @@ const AssistantActionBar: FC = () => { const isLast = useAuiState((s) => s.message.isLast); const aui = useAui(); const api = useElectronAPI(); - const [quickAskMode, setQuickAskMode] = useState(""); - useEffect(() => { - if (!isLast || !api?.getQuickAskMode) return; - api.getQuickAskMode().then((mode) => { - if (mode) setQuickAskMode(mode); - }); - }, [isLast, api]); - - const isTransform = isLast && !!api?.replaceText && quickAskMode === "transform"; + const isQuickAssist = !!api?.replaceText && !!api?.getQuickAskMode; return ( { className="aui-assistant-action-bar-root -ml-1 col-start-3 row-start-2 flex gap-1 text-muted-foreground md:data-floating:absolute md:data-floating:rounded-md md:data-floating:p-1 [&>button]:opacity-100 md:[&>button]:opacity-[var(--aui-button-opacity,1)]" > - + message.isCopied}> @@ -494,29 +486,27 @@ const AssistantActionBar: FC = () => { - + {isLast && ( - + )} - {isTransform && ( - + + )} ); From 80f775581bd44dd980c1d75cdbc125dcc7b41f56 Mon Sep 17 00:00:00 2001 From: "DESKTOP-RTLN3BA\\$punk" Date: Tue, 7 Apr 2026 05:11:41 -0700 Subject: [PATCH 2/2] feat: implement quick assist mode detection in AssistantActionBar - Added state management for quick assist mode using the Electron API. - Introduced a useEffect hook to asynchronously check and set the quick assist mode based on the API response, enhancing the component's interactivity. --- .../components/assistant-ui/assistant-message.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/surfsense_web/components/assistant-ui/assistant-message.tsx b/surfsense_web/components/assistant-ui/assistant-message.tsx index 5567cfca8..49853b0b5 100644 --- a/surfsense_web/components/assistant-ui/assistant-message.tsx +++ b/surfsense_web/components/assistant-ui/assistant-message.tsx @@ -465,8 +465,14 @@ const AssistantActionBar: FC = () => { const isLast = useAuiState((s) => s.message.isLast); const aui = useAui(); const api = useElectronAPI(); + const [isQuickAssist, setIsQuickAssist] = useState(false); - const isQuickAssist = !!api?.replaceText && !!api?.getQuickAskMode; + useEffect(() => { + if (!api?.getQuickAskMode) return; + api.getQuickAskMode().then((mode) => { + if (mode) setIsQuickAssist(true); + }); + }, [api]); return (