fix(front): corrige les 4 erreurs eslint restantes
Le dépôt sortait 7 erreurs eslint au début de cette série de correctifs, dont certaines antérieures. Il n'en reste aucune. - Dashboard et Users appelaient setState de façon synchrone dans un effet, ce qui provoque des rendus en cascade. Le chargement initial passe par une fonction asynchrone qui n'écrit qu'après l'await, avec annulation au démontage. Sur le Dashboard, l'indicateur de chargement est allumé par les gestionnaires d'événement, et le bouton Actualiser relance l'effet via un compteur plutôt qu'en appelant le chargement. - L'import ExternalLink de Documentation.jsx n'était pas utilisé. - AuthContext.jsx exportait à la fois un composant, le contexte et un hook, ce qui désactivait le rafraîchissement à chaud de Vite pour ce fichier. Le contexte et le hook vivent désormais dans leurs propres modules ; les 5 fichiers concernés sont mis à jour.
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
/* Contexte d'authentification global : gestion de l'utilisateur connecté */
|
||||
|
||||
import { createContext, useContext, useState } from 'react';
|
||||
import { useState } from 'react';
|
||||
import * as api from '../services/api';
|
||||
import { USER_KEY } from '../services/api';
|
||||
|
||||
const AuthContext = createContext(null);
|
||||
import { AuthContext } from './authContextObject';
|
||||
|
||||
/* Fournisseur du contexte d'authentification */
|
||||
export function AuthProvider({ children }) {
|
||||
@@ -39,11 +38,3 @@ export function AuthProvider({ children }) {
|
||||
);
|
||||
}
|
||||
|
||||
/* Hook personnalisé pour accéder au contexte d'authentification */
|
||||
export function useAuth() {
|
||||
const context = useContext(AuthContext);
|
||||
if (!context) {
|
||||
throw new Error('useAuth doit être utilisé dans un AuthProvider');
|
||||
}
|
||||
return context;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
/* Objet de contexte isolé : un fichier qui exporte un composant ne doit
|
||||
exporter que des composants, sans quoi le rafraîchissement à chaud de Vite
|
||||
(react-refresh) cesse de fonctionner pour ce fichier. */
|
||||
|
||||
import { createContext } from 'react';
|
||||
|
||||
export const AuthContext = createContext(null);
|
||||
@@ -0,0 +1,15 @@
|
||||
/* Hook d'accès au contexte d'authentification.
|
||||
|
||||
Séparé de AuthContext.jsx : un fichier qui exporte à la fois un composant
|
||||
et autre chose casse le rafraîchissement à chaud de Vite (react-refresh). */
|
||||
|
||||
import { useContext } from 'react';
|
||||
import { AuthContext } from './authContextObject';
|
||||
|
||||
export function useAuth() {
|
||||
const context = useContext(AuthContext);
|
||||
if (!context) {
|
||||
throw new Error('useAuth doit être utilisé dans un AuthProvider');
|
||||
}
|
||||
return context;
|
||||
}
|
||||
Reference in New Issue
Block a user