import { create } from 'zustand'; import { persist } from 'zustand/middleware'; type ColorScheme = 'light' | 'dark'; interface PreferencesState { colorScheme: ColorScheme; compactView: boolean; toggleColorScheme: () => void; setColorScheme: (scheme: ColorScheme) => void; toggleCompactView: () => void; setCompactView: (compact: boolean) => void; } export const usePreferencesStore = create()( persist( (set) => ({ colorScheme: 'light', compactView: false, toggleColorScheme: () => set((state) => ({ colorScheme: state.colorScheme === 'light' ? 'dark' : 'light', })), setColorScheme: (scheme) => set({ colorScheme: scheme }), toggleCompactView: () => set((state) => ({ compactView: !state.compactView })), setCompactView: (compact) => set({ compactView: compact }), }), { name: 'ledgeriq-preferences', }, ), );