import * as React from 'react' const ADMIN_STORAGE_PREFIX = 'admin-' export function useLocalStorage(key: string) { const prefixedKey = ADMIN_STORAGE_PREFIX + key const setItem = React.useCallback( (value: T) => { try { localStorage.setItem(prefixedKey, JSON.stringify(value)) } catch {} }, [prefixedKey] ) const getItem = React.useCallback((): T | null => { try { const stored = localStorage.getItem(prefixedKey) return stored ? JSON.parse(stored) : null } catch { return null } }, [prefixedKey]) const removeItem = React.useCallback(() => { try { localStorage.removeItem(prefixedKey) } catch {} }, [prefixedKey]) const hasItem = React.useCallback((): boolean => { try { return localStorage.getItem(prefixedKey) !== null } catch { return false } }, [prefixedKey]) return { setItem, getItem, removeItem, hasItem } }