import { create } from 'zustand'; import { invoke } from '@tauri-apps/api/core'; export interface Settings { work_duration_secs: number; short_break_secs: number; long_break_secs: number; sessions_before_long_break: number; } interface SettingsStore { settings: Settings | null; fetchSettings: () => Promise; updateSettings: (s: Settings) => Promise; } export const useSettingsStore = create((set) => ({ settings: null, fetchSettings: async () => { try { const settings = await invoke('get_settings'); set({ settings }); } catch (e) { console.error('fetchSettings error:', e); } }, updateSettings: async (s) => { await invoke('update_settings', { settings: s }); set({ settings: s }); }, }));