From ab159501faf8aea9b1097f1e352ff86a1dd05ae9 Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Tue, 10 Mar 2026 16:49:32 -0700 Subject: [PATCH] fix(notes): activate workspace filtering --- web/src/app/(app)/workspaces/page.tsx | 30 ++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/web/src/app/(app)/workspaces/page.tsx b/web/src/app/(app)/workspaces/page.tsx index 2f574fb..9a75850 100644 --- a/web/src/app/(app)/workspaces/page.tsx +++ b/web/src/app/(app)/workspaces/page.tsx @@ -9,6 +9,7 @@ import type { NoteSummary, WorkspaceSummary } from "@/lib/types"; export default function WorkspacesPage() { const [notes, setNotes] = useState([]); const [workspaces, setWorkspaces] = useState([]); + const [query, setQuery] = useState(""); const [error, setError] = useState(null); useEffect(() => { @@ -52,6 +53,31 @@ export default function WorkspacesPage() { }, ]; + const filteredWorkspaces = useMemo(() => { + const normalized = query.trim().toLowerCase(); + if (!normalized) { + return workspaces; + } + + return workspaces.filter((workspace) => { + const workspaceNotes = notesByWorkspace.get(workspace.id) ?? []; + + return ( + workspace.name.toLowerCase().includes(normalized) || + workspace.description.toLowerCase().includes(normalized) || + workspace.owner.toLowerCase().includes(normalized) || + workspace.visibility.toLowerCase().includes(normalized) || + workspace.tags.some((tag) => tag.toLowerCase().includes(normalized)) || + workspaceNotes.some( + (note) => + note.title.toLowerCase().includes(normalized) || + note.excerpt.toLowerCase().includes(normalized) || + note.tags.some((tag) => tag.toLowerCase().includes(normalized)), + ) + ); + }); + }, [notesByWorkspace, query, workspaces]); + return ( setQuery(event.target.value)} />
owner:any @@ -94,7 +122,7 @@ export default function WorkspacesPage() { ) : null}
- {workspaces.map((workspace) => { + {filteredWorkspaces.map((workspace) => { const workspaceNotes = notesByWorkspace.get(workspace.id) ?? []; return (