import { create } from 'zustand'; import { persist } from 'zustand/middleware'; interface SettingsState { theme: 'light' | 'dark'; language: 'zh-TW' | 'en'; setTheme: (theme: 'light' | 'dark') => void; setLanguage: (language: 'zh-TW' | 'en') => void; resetToDefaults: () => void; } const defaults = { theme: 'light' as const, language: 'zh-TW' as const, }; export const useSettingsStore = create()( persist( (set) => ({ ...defaults, setTheme: (theme) => set({ theme }), setLanguage: (language) => set({ language }), resetToDefaults: () => set(defaults), }), { name: 'settings', skipHydration: true }, ), );