diff --git a/src/hooks/useCardSettings.ts b/src/hooks/useCardSettings.ts index c54dbc3e..019d6a52 100644 --- a/src/hooks/useCardSettings.ts +++ b/src/hooks/useCardSettings.ts @@ -10,36 +10,19 @@ import { import type { CardLayout, CardBlockId } from "@/lib/types"; export function useCardSettings(mounted: boolean) { - const [isHydrated, setIsHydrated] = useState(false); const [layout, setLayout] = useState(() => loadCardSettings().layout); const [displayOptions, setDisplayOptions] = useState( () => loadCardSettings().options, ); - // Initialize state from storage on mount - useEffect(() => { - if (!mounted || isHydrated) { - return; - } - - const { layout: storedLayout, options: storedOptions } = loadCardSettings(); - - // eslint-disable-next-line react-hooks/set-state-in-effect - setLayout((prev) => JSON.stringify(prev) !== JSON.stringify(storedLayout) ? storedLayout : prev); - // eslint-disable-next-line react-hooks/set-state-in-effect - setDisplayOptions((prev) => JSON.stringify(prev) !== JSON.stringify(storedOptions) ? storedOptions : prev); - - setIsHydrated(true); - }, [mounted, isHydrated]); - // Persist changes to storage useEffect(() => { - if (!mounted || !isHydrated) { + if (!mounted) { return; } saveCardSettings(layout, displayOptions); - }, [layout, displayOptions, mounted, isHydrated]); + }, [layout, displayOptions, mounted]); const toggleMainBlockVisibility = useCallback((blockId: CardBlockId) => { setLayout((prev) => toggleBlockVisibility(prev, blockId));