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:
2026-08-15 14:29:18 +02:00
parent 8b8121ca1c
commit ddd0197130
6 changed files with 43 additions and 75 deletions
+4 -5
View File
@@ -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é */