Checkpoint: Correction de l'erreur "refetchInscrits is not defined" lors de l'upload d'attestation manuelle :

- Remplacement de refetchInscrits() par refetchApprenants() dans AdminGestionAttestations.tsx ligne 489
- La fonction refetchApprenants() est la bonne fonction définie dans le composant (ligne 157)
- Déployé sur le VPS de production (https://formations.itinova.org)
- L'upload d'attestation manuelle fonctionne maintenant correctement sans erreur JavaScript
This commit is contained in:
Manus
2026-01-17 18:30:13 -05:00
parent a203b70e27
commit a79132e921
4 changed files with 175 additions and 24 deletions

View File

@@ -214,7 +214,7 @@ function DashboardLayoutContent({
// État pour gérer les sections ouvertes/fermées (persisté dans localStorage)
const [openSections, setOpenSections] = useState<Record<string, boolean>>(() => {
// Version du système de menu (incrémenter pour forcer la réinitialisation)
const MENU_VERSION = 4; // Incrémenté pour ne garder ouvert que "Gestion" par défaut
const MENU_VERSION = 5; // Incrémenté pour forcer la réinitialisation : seul "Gestion" ouvert par défaut
const savedVersion = localStorage.getItem('menuVersion');
// Si la version a changé, ignorer le localStorage existant
@@ -243,13 +243,27 @@ function DashboardLayoutContent({
return initial;
});
// Fonction pour toggle une section
// Fonction pour toggle une section (mode accordéon : un seul menu ouvert à la fois)
const toggleSection = (sectionTitle: string) => {
setOpenSections(prev => {
const newState = {
...prev,
[sectionTitle]: !prev[sectionTitle]
};
const isCurrentlyOpen = prev[sectionTitle];
// Si le menu est déjà ouvert, on le ferme
if (isCurrentlyOpen) {
const newState = {
...prev,
[sectionTitle]: false
};
localStorage.setItem('menuSectionsState', JSON.stringify(newState));
return newState;
}
// Sinon, on ferme tous les menus et on ouvre celui-ci
const newState: Record<string, boolean> = {};
Object.keys(prev).forEach(key => {
newState[key] = key === sectionTitle;
});
// Sauvegarder dans localStorage
localStorage.setItem('menuSectionsState', JSON.stringify(newState));
return newState;