feat(admin): persist sidebar collapsed sections state in sessionStorage
This commit is contained in:
@@ -34,6 +34,13 @@ const AdminSidebar = ({ isMobileMenuOpen, setIsMobileMenuOpen, appName, enabledM
|
|||||||
return initial;
|
return initial;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
try {
|
||||||
|
const stored = sessionStorage.getItem('zen-admin-sidebar-collapsed');
|
||||||
|
if (stored !== null) setCollapsedSections(new Set(JSON.parse(stored)));
|
||||||
|
} catch {}
|
||||||
|
}, []);
|
||||||
|
|
||||||
const toggleSection = (sectionId) => {
|
const toggleSection = (sectionId) => {
|
||||||
setCollapsedSections(prev => {
|
setCollapsedSections(prev => {
|
||||||
const next = new Set(prev);
|
const next = new Set(prev);
|
||||||
@@ -42,6 +49,9 @@ const AdminSidebar = ({ isMobileMenuOpen, setIsMobileMenuOpen, appName, enabledM
|
|||||||
} else {
|
} else {
|
||||||
next.add(sectionId);
|
next.add(sectionId);
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
|
sessionStorage.setItem('zen-admin-sidebar-collapsed', JSON.stringify([...next]));
|
||||||
|
} catch {}
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user