diff options
Diffstat (limited to 'src/store')
| -rw-r--r-- | src/store/taskStore.ts | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/store/taskStore.ts b/src/store/taskStore.ts index dccd17d..94386ac 100644 --- a/src/store/taskStore.ts +++ b/src/store/taskStore.ts @@ -18,7 +18,6 @@ interface TaskStore { updateTask: (id: string, remainingSessions?: number, completed?: boolean) => Promise<void>; deleteTask: (id: string) => Promise<void>; setCurrentTask: (id: string | null) => Promise<void>; - refreshTask: (task: Task) => void; } export const useTaskStore = create<TaskStore>((set) => ({ @@ -37,11 +36,16 @@ export const useTaskStore = create<TaskStore>((set) => ({ }, addTask: async (name, totalSessions) => { - const task = await invoke<Task>('add_task', { - name, - totalSessions, - }); - set((state) => ({ tasks: [...state.tasks, task] })); + try { + const task = await invoke<Task>('add_task', { + name, + totalSessions, + }); + set((state) => ({ tasks: [...state.tasks, task] })); + } catch (e) { + console.error('addTask error:', e); + throw e; + } }, updateTask: async (id, remainingSessions, completed) => { @@ -64,17 +68,16 @@ export const useTaskStore = create<TaskStore>((set) => ({ }, deleteTask: async (id) => { - await invoke('delete_task', { id }); - set((state) => ({ tasks: state.tasks.filter((t) => t.id !== id) })); + try { + await invoke('delete_task', { id }); + set((state) => ({ tasks: state.tasks.filter((t) => t.id !== id) })); + } catch (e) { + console.error('deleteTask error:', e); + throw e; + } }, setCurrentTask: async (id) => { await invoke('set_current_task', { taskId: id }); }, - - refreshTask: (updatedTask) => { - set((state) => ({ - tasks: state.tasks.map((t) => (t.id === updatedTask.id ? updatedTask : t)), - })); - }, })); |
