const isBrowser = typeof window !== 'undefined'; export const safeLocalStorage: Storage | undefined = isBrowser ? window.localStorage : undefined; export function loadFromStorage(key: string, fallback: T): T { if (!safeLocalStorage) return fallback; try { const raw = safeLocalStorage.getItem(key); if (!raw) return fallback; return JSON.parse(raw) as T; } catch (error) { console.warn(`Failed to load ${key} from localStorage`, error); return fallback; } } export function saveToStorage(key: string, value: T): void { if (!safeLocalStorage) return; try { safeLocalStorage.setItem(key, JSON.stringify(value)); } catch (error) { console.warn(`Failed to persist ${key} to localStorage`, error); } }