// ── useLocalStorage Hook ────────────────────────────────────────────── // Auto-generated by self-healing setup. Edit to customize. import { useState, useEffect } from "react"; export function useLocalStorage(key: string, initialValue: T): [T, (value: T | ((prev: T) => T)) => void] { const [storedValue, setStoredValue] = useState(initialValue); useEffect(() => { try { const item = window.localStorage.getItem(key); if (item) setStoredValue(JSON.parse(item)); } catch { // corrupted data — use initial value } }, [key]); const setValue = (value: T | ((prev: T) => T)) => { try { const valueToStore = value instanceof Function ? value(storedValue) : value; setStoredValue(valueToStore); window.localStorage.setItem(key, JSON.stringify(valueToStore)); } catch { // storage full or disabled } }; return [storedValue, setValue]; }