diff --git a/frontend/modules/project-management/pages/my-tasks.vue b/frontend/modules/project-management/pages/my-tasks.vue index 7b015da..52e019d 100644 --- a/frontend/modules/project-management/pages/my-tasks.vue +++ b/frontend/modules/project-management/pages/my-tasks.vue @@ -87,8 +87,16 @@ function statusesForTaskCategory(task: Task, category: StatusCategory): TaskStat } async function applyStatus(task: Task, status: TaskStatus): Promise { - await taskService.update(task.id, { status: `/api/task_statuses/${status.id}` }) - await loadTasks() + if (task.status?.id === status.id) return + // Mise à jour optimiste : re-bucket le kanban instantanément avant la réponse réseau (cf. index.vue). + const previousStatus = task.status + task.status = status + try { + await taskService.update(task.id, { status: `/api/task_statuses/${status.id}` }) + } catch (e) { + task.status = previousStatus + throw e + } } function onDrop(category: StatusCategory, event: DragEvent): void {