chore(front): extrait KpiCard, unifie la clé de session, retire du code mort
- KpiCard était déclaré dans Dashboard.jsx : sorti dans son propre fichier avec ses styles, les règles CSS devenues orphelines sont supprimées de Dashboard.module.css. - La clé localStorage 'ds_user' était définie séparément dans api.js (USER_KEY) et AuthContext.jsx (STORAGE_KEY). AuthContext importe désormais la constante exportée par api.js : un renommage ne peut plus casser silencieusement la restauration de session. - hooks/useApi.js n'était importé nulle part : supprimé.
This commit is contained in:
@@ -2,16 +2,15 @@
|
||||
|
||||
import { createContext, useContext, useState } from 'react';
|
||||
import * as api from '../services/api';
|
||||
import { USER_KEY } from '../services/api';
|
||||
|
||||
const AuthContext = createContext(null);
|
||||
|
||||
const STORAGE_KEY = 'ds_user';
|
||||
|
||||
/* Fournisseur du contexte d'authentification */
|
||||
export function AuthProvider({ children }) {
|
||||
const [user, setUser] = useState(() => {
|
||||
/* Restauration de la session depuis le localStorage au montage */
|
||||
const stored = localStorage.getItem(STORAGE_KEY);
|
||||
const stored = localStorage.getItem(USER_KEY);
|
||||
return stored ? JSON.parse(stored) : null;
|
||||
});
|
||||
|
||||
@@ -19,7 +18,7 @@ export function AuthProvider({ children }) {
|
||||
async function login(username, password) {
|
||||
const connectedUser = await api.login(username, password);
|
||||
setUser(connectedUser);
|
||||
localStorage.setItem(STORAGE_KEY, JSON.stringify(connectedUser));
|
||||
localStorage.setItem(USER_KEY, JSON.stringify(connectedUser));
|
||||
return connectedUser;
|
||||
}
|
||||
|
||||
@@ -27,7 +26,7 @@ export function AuthProvider({ children }) {
|
||||
function logout() {
|
||||
api.clearToken();
|
||||
setUser(null);
|
||||
localStorage.removeItem(STORAGE_KEY);
|
||||
localStorage.removeItem(USER_KEY);
|
||||
}
|
||||
|
||||
/* Booléen pratique pour savoir si l'utilisateur est connecté */
|
||||
|
||||
Reference in New Issue
Block a user