import { useState, useEffect } from 'react' export function useSessionStorageState(key: string, initialValue: T) { const [value, setValue] = useState(() => { if (typeof window === 'undefined') return initialValue const item = sessionStorage.getItem(key) return item ? JSON.parse(item) : initialValue }) useEffect(() => { sessionStorage.setItem(key, JSON.stringify(value)) }, [key, value]) return [value, setValue] as const }