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
  };
}