From e92b7a34ed6eb5fa91a7baf50d177649db0b0b19 Mon Sep 17 00:00:00 2001 From: Anish Sarkar <104695310+AnishSarkar22@users.noreply.github.com> Date: Mon, 6 Jul 2026 09:35:12 +0530 Subject: [PATCH] feat(search-space): introduce activeWorkspaceIdAtom and refactor user-message component for improved readability - Added activeWorkspaceIdAtom as a reference to activeSearchSpaceIdAtom. - Refactored the UserTextPart component in user-message.tsx to simplify icon determination and tooltip logic, enhancing code clarity and maintainability. --- .../search-spaces/search-space-query.atoms.ts | 1 + .../components/assistant-ui/user-message.tsx | 51 +++++++++---------- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/surfsense_web/atoms/search-spaces/search-space-query.atoms.ts b/surfsense_web/atoms/search-spaces/search-space-query.atoms.ts index 588466d90..e75843a8a 100644 --- a/surfsense_web/atoms/search-spaces/search-space-query.atoms.ts +++ b/surfsense_web/atoms/search-spaces/search-space-query.atoms.ts @@ -5,6 +5,7 @@ import { searchSpacesApiService } from "@/lib/apis/search-spaces-api.service"; import { cacheKeys } from "@/lib/query-client/cache-keys"; export const activeSearchSpaceIdAtom = atom(null); +export const activeWorkspaceIdAtom = activeSearchSpaceIdAtom; export const searchSpacesQueryParamsAtom = atom({ skip: 0, diff --git a/surfsense_web/components/assistant-ui/user-message.tsx b/surfsense_web/components/assistant-ui/user-message.tsx index 0c3649544..9eb2f3df1 100644 --- a/surfsense_web/components/assistant-ui/user-message.tsx +++ b/surfsense_web/components/assistant-ui/user-message.tsx @@ -118,40 +118,37 @@ const UserTextPart: FC = () => { if (segment.type === "text") { return {segment.value}; } - const isFolder = segment.doc.kind === "folder"; - const isConnector = segment.doc.kind === "connector"; - const isThread = segment.doc.kind === "thread"; - const icon = isFolder ? ( - - ) : isThread ? ( - - ) : isConnector ? ( - (getConnectorIcon(segment.doc.connector_type, "size-3.5") ?? ( - - )) - ) : ( - getConnectorIcon(segment.doc.document_type ?? "UNKNOWN", "size-3.5") - ); + const doc = segment.doc; + const icon = + doc.kind === "folder" ? ( + + ) : doc.kind === "thread" ? ( + + ) : doc.kind === "connector" ? ( + (getConnectorIcon(doc.connector_type, "size-3.5") ?? ) + ) : ( + getConnectorIcon(doc.document_type ?? "UNKNOWN", "size-3.5") + ); return ( handleOpenThread(segment.doc.id) - : isFolder || isConnector + doc.kind === "thread" + ? () => handleOpenThread(doc.id) + : doc.kind === "folder" || doc.kind === "connector" ? undefined - : () => handleOpenDoc(segment.doc.id, segment.doc.title) + : () => handleOpenDoc(doc.id, doc.title) } className="mx-0.5" />