import { useEffect, useState } from 'react'; export const useLocalStorage = ( key: string, initialValue: T, ): [T, (value: T) => void] => { const [storedValue, setStoredValue] = useState(initialValue); useEffect(() => { // Retrieve from localStorage const item = window.localStorage.getItem(key); if (item) { setStoredValue(JSON.parse(item)); } }, [key]); const setValue = (value: T) => { // Save state setStoredValue(value); // Save to localStorage window.localStorage.setItem(key, JSON.stringify(value)); }; return [storedValue, setValue]; };