File size: 1,285 Bytes
6bda4a6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import { useEffect } from 'react';
import { useDebugUMAPStore } from '../store';
/**
* Hook pour gérer la persistance en localStorage
* Charge automatiquement la configuration sauvegardée au démarrage
*/
export function useLocalStorage() {
const loadFromLocalStorage = useDebugUMAPStore((state) => state.loadFromLocalStorage);
const saveToLocalStorage = useDebugUMAPStore((state) => state.saveToLocalStorage);
useEffect(() => {
// Charger la configuration sauvegardée au démarrage
console.log('useLocalStorage: Tentative de chargement de la configuration...');
const loaded = loadFromLocalStorage();
if (loaded) {
console.log('useLocalStorage: ✅ Configuration restaurée depuis localStorage');
} else {
console.log('useLocalStorage: ❌ Aucune configuration sauvegardée trouvée');
}
}, [loadFromLocalStorage]);
// Sauvegarder automatiquement avant de quitter la page
useEffect(() => {
const handleBeforeUnload = () => {
saveToLocalStorage();
};
window.addEventListener('beforeunload', handleBeforeUnload);
return () => {
window.removeEventListener('beforeunload', handleBeforeUnload);
};
}, [saveToLocalStorage]);
return {
loadFromLocalStorage,
saveToLocalStorage
};
}
|