From ef86c1d189fb3df8090e87fc79015cc881c41394 Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Wed, 5 Nov 2025 10:12:10 -0800 Subject: [PATCH] Recursively collapse during "coolapse all" --- src-web/components/Sidebar.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src-web/components/Sidebar.tsx b/src-web/components/Sidebar.tsx index b50f6620..a17036a0 100644 --- a/src-web/components/Sidebar.tsx +++ b/src-web/components/Sidebar.tsx @@ -223,10 +223,12 @@ function Sidebar({ className }: { className?: string }) { for (const n of node.children ?? []) { if (n.item.model !== 'folder') continue; collapsed[n.item.id] = true; + collapsed = next(n, collapsed); } return collapsed; }; - jotaiStore.set(collapsedFamily(treeId), next(tree, {})); + const collapsed = next(tree, {}); + jotaiStore.set(collapsedFamily(treeId), collapsed); }, }, 'sidebar.selected.delete': { @@ -435,7 +437,7 @@ function Sidebar({ className }: { className?: string }) { aria-hidden={hidden ?? undefined} className={classNames(className, 'h-full grid grid-rows-[auto_minmax(0,1fr)_auto]')} > -
+
{(tree.children?.length ?? 0) > 0 && ( <> @@ -630,7 +631,7 @@ const sidebarTreeAtom = atom<[TreeNode, FieldDef[]] | null>((get) const root: TreeNode = { item: activeWorkspace, - parent: null, + parent: null, children: [], depth: 0, };