From f576c77fb669af370dac7372a8cb8402715b8566 Mon Sep 17 00:00:00 2001 From: Val Alexander Date: Thu, 2 Apr 2026 06:38:55 -0500 Subject: [PATCH] Make file tree collapse state per project - Track Files section expansion in a project-scoped set - Keep file tree toggles independent between projects --- apps/web/src/components/Sidebar.tsx | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/apps/web/src/components/Sidebar.tsx b/apps/web/src/components/Sidebar.tsx index 00ddd9b73..1d736cfc2 100644 --- a/apps/web/src/components/Sidebar.tsx +++ b/apps/web/src/components/Sidebar.tsx @@ -399,7 +399,9 @@ export default function Sidebar() { const [expandedThreadListsByProject, setExpandedThreadListsByProject] = useState< ReadonlySet >(() => new Set()); - const [filesExpanded, setFilesExpanded] = useState(true); + const [filesCollapsedByProject, setFilesCollapsedByProject] = useState< + ReadonlySet + >(() => new Set()); const dragInProgressRef = useRef(false); const suppressProjectClickAfterDragRef = useRef(false); const [desktopUpdateState, setDesktopUpdateState] = useState(null); @@ -1481,18 +1483,28 @@ export default function Sidebar() { - {filesExpanded && ( + {!filesCollapsedByProject.has(project.id) && ( )}