import { useState, useEffect } 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 = (data: SessionData) => { localStorage.setItem('resistencia_session', JSON.stringify(data)); setSession(data); }; // Actualizar sesión parcialmente const updateSession = (partial: Partial) => { if (session) { const updated = { ...session, ...partial }; saveSession(updated); } }; // Limpiar sesión const clearSession = () => { localStorage.removeItem('resistencia_session'); setSession(null); }; return { session, saveSession, updateSession, clearSession }; }