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