diff --git a/src/lib/hooks/useLocalStorage.ts b/src/lib/hooks/useLocalStorage.ts index 1b6b743d1..9b18a30ab 100644 --- a/src/lib/hooks/useLocalStorage.ts +++ b/src/lib/hooks/useLocalStorage.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-console */ import type { Dispatch, SetStateAction } from "react"; import { useEffect, useState } from "react"; @@ -12,12 +13,17 @@ export const useLocalStorage = ( const value = window.localStorage.getItem(key); return value ? (JSON.parse(value) as T) : defaultValue; } catch (e) { - return [] as T; + console.warn(`Error reading localStorage key “${key}”:`, e); + return defaultValue as T; } }); useEffect(() => { - window.localStorage.setItem(key, JSON.stringify(storedValue)); + try { + window.localStorage.setItem(key, JSON.stringify(storedValue)); + } catch (e) { + console.warn(`Error setting localStorage key “${key}”:`, e); + } }, [key, storedValue]); return [storedValue, setStoredValue];