diff --git a/src/stores/tasks.ts b/src/stores/tasks.ts
index c44fa78..6a07233 100644
--- a/src/stores/tasks.ts
+++ b/src/stores/tasks.ts
@@ -27,6 +27,8 @@ interface TasksState {
deleteTask: (id: string) => Promise
;
toggleComplete: (id: string) => Promise;
createProject: (data: { name: string; color?: string; icon?: string }) => Promise;
+ updateProject: (id: string, data: Partial) => Promise;
+ deleteProject: (id: string) => Promise;
setSelectedTask: (task: Task | null) => void;
setActiveProject: (projectId: string | null) => void;
@@ -121,6 +123,20 @@ export const useTasksStore = create((set, get) => ({
return project;
},
+ updateProject: async (id, data) => {
+ const updated = await api.updateProject(id, data);
+ set((state) => ({
+ projects: state.projects.map((p) => (p.id === id ? { ...p, ...updated } : p)),
+ }));
+ },
+
+ deleteProject: async (id) => {
+ await api.deleteProject(id);
+ set((state) => ({
+ projects: state.projects.filter((p) => p.id !== id),
+ }));
+ },
+
toggleComplete: async (id) => {
const task = get().tasks.find((t) => t.id === id) || get().completedTasks.find((t) => t.id === id);
if (!task) return;