summaryrefslogtreecommitdiff
path: root/src/store/taskStore.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/store/taskStore.ts')
-rw-r--r--src/store/taskStore.ts31
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)),
- }));
- },
}));