import { useState, useEffect, useCallback } from 'react'; interface SessionData { playerName: string; fullPlayerName: string; currentView: 'login' | 'lobby' | 'game'; roomId?: string; } export function useSessionStorage() { const [session, setSession] = useState(null); // Cargar sesión al iniciar useEffect(() => { const savedSession = localStorage.getItem('resistencia_session'); if (savedSession) { try { const parsed = JSON.parse(savedSession); setSession(parsed); } catch (e) { console.error('Error parsing session:', e); localStorage.removeItem('resistencia_session'); } } }, []); // Guardar sesión const saveSession = useCallback((data: SessionData) => { localStorage.setItem('resistencia_session', JSON.stringify(data)); setSession(data); }, []); // Actualizar sesión parcialmente const updateSession = useCallback((partial: Partial) => { setSession(prev => { if (!prev) return null; const updated = { ...prev, ...partial }; localStorage.setItem('resistencia_session', JSON.stringify(updated)); return updated; }); }, []); // Limpiar sesión const clearSession = useCallback(() => { localStorage.removeItem('resistencia_session'); setSession(null); }, []); return { session, saveSession, updateSession, clearSession }; }