From 6efb565a4e3ba2d5001f41edb059c2cdba79415e Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 8 Oct 2025 17:46:20 +0300 Subject: [PATCH] Feat/persist project view (#401) * Persist project view selection * fixup! Persist project view selection --- frontend/components/Projects.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/frontend/components/Projects.tsx b/frontend/components/Projects.tsx index 0f93138..6baa570 100644 --- a/frontend/components/Projects.tsx +++ b/frontend/components/Projects.tsx @@ -54,7 +54,10 @@ const Projects: React.FC = () => { useState(false); const [activeDropdown, setActiveDropdown] = useState(null); const [searchQuery, setSearchQuery] = useState(''); - const [viewMode, setViewMode] = useState<'cards' | 'list'>('cards'); + const [viewMode, setViewMode] = useState<'cards' | 'list'>(() => { + const saved = localStorage.getItem('projectsViewMode'); + return saved === 'list' || saved === 'cards' ? saved : 'cards'; + }); const [isSearchExpanded, setIsSearchExpanded] = useState(false); const [orderBy, setOrderBy] = useState('created_at:desc'); @@ -119,6 +122,11 @@ const Projects: React.FC = () => { loadAreas(); }, []); + // Persist viewMode to localStorage + useEffect(() => { + localStorage.setItem('projectsViewMode', viewMode); + }, [viewMode]); + // Projects are now loaded by Layout component into global store // Modal state tracking removed after fixing the issue