Checkpoint: Modification du comportement par défaut du menu accordéon : seule la section TABLEAU DE BORD est ouverte à l'ouverture, les sections GESTION, CONFIGURATION et ANALYSES sont fermées par défaut. Ajout d'un système de version (MENU_VERSION = 2) pour forcer la réinitialisation du localStorage avec les nouvelles valeurs par défaut.
This commit is contained in:
@@ -162,20 +162,33 @@ function DashboardLayoutContent({
|
||||
|
||||
// État pour gérer les sections ouvertes/fermées (persisté dans localStorage)
|
||||
const [openSections, setOpenSections] = useState<Record<string, boolean>>(() => {
|
||||
// Essayer de charger depuis localStorage
|
||||
const saved = localStorage.getItem('menuSectionsState');
|
||||
if (saved) {
|
||||
try {
|
||||
return JSON.parse(saved);
|
||||
} catch {
|
||||
// En cas d'erreur, utiliser les valeurs par défaut
|
||||
// Version du système de menu (incrémenter pour forcer la réinitialisation)
|
||||
const MENU_VERSION = 2;
|
||||
const savedVersion = localStorage.getItem('menuVersion');
|
||||
|
||||
// Si la version a changé, ignorer le localStorage existant
|
||||
if (savedVersion && parseInt(savedVersion) === MENU_VERSION) {
|
||||
const saved = localStorage.getItem('menuSectionsState');
|
||||
if (saved) {
|
||||
try {
|
||||
return JSON.parse(saved);
|
||||
} catch {
|
||||
// En cas d'erreur, utiliser les valeurs par défaut
|
||||
}
|
||||
}
|
||||
}
|
||||
// Valeurs par défaut : toutes les sections ouvertes
|
||||
|
||||
// Valeurs par défaut : seule la section TABLEAU DE BORD est ouverte
|
||||
const initial: Record<string, boolean> = {};
|
||||
menuSections.forEach(section => {
|
||||
initial[section.title] = true;
|
||||
// Ouvrir uniquement "Tableau de bord", fermer les autres
|
||||
initial[section.title] = section.title === "Tableau de bord";
|
||||
});
|
||||
|
||||
// Sauvegarder la version et l'état initial
|
||||
localStorage.setItem('menuVersion', MENU_VERSION.toString());
|
||||
localStorage.setItem('menuSectionsState', JSON.stringify(initial));
|
||||
|
||||
return initial;
|
||||
});
|
||||
|
||||
@@ -277,7 +290,7 @@ function DashboardLayoutContent({
|
||||
|
||||
<SidebarContent className="gap-0">
|
||||
{menuSections.map((section, sectionIndex) => {
|
||||
const isOpen = openSections[section.title] ?? true;
|
||||
const isOpen = openSections[section.title] ?? false;
|
||||
return (
|
||||
<div key={section.title}>
|
||||
{sectionIndex > 0 && (
|
||||
|
||||
Reference in New Issue
Block a user