diff --git a/apps/tauri/src/lib/components/TaskItem.svelte b/apps/tauri/src/lib/components/TaskItem.svelte
index 003e63d..9e40f90 100644
--- a/apps/tauri/src/lib/components/TaskItem.svelte
+++ b/apps/tauri/src/lib/components/TaskItem.svelte
@@ -1,5 +1,6 @@
+
+
+
diff --git a/apps/tauri/src/lib/screens/TasksScreen.svelte b/apps/tauri/src/lib/screens/TasksScreen.svelte
index 215d731..9380a0c 100644
--- a/apps/tauri/src/lib/screens/TasksScreen.svelte
+++ b/apps/tauri/src/lib/screens/TasksScreen.svelte
@@ -343,7 +343,7 @@
ondragover={(e) => handleDragOver(e, task.id)}
ondragend={handleDragEnd}
ondrop={(e) => handleDrop(e, task.id)}
- class="transition-all duration-150 {dragId === task.id ? 'opacity-30' : ''} {dragOverId === task.id && dragId !== task.id ? 'border-t-2 border-t-primary' : ''}"
+ class="{dragId === task.id ? 'opacity-30' : ''} {dragOverId === task.id && dragId !== task.id ? 'border-t-2 border-t-primary' : ''}"
>
diff --git a/apps/tauri/src/lib/stores/app.svelte.ts b/apps/tauri/src/lib/stores/app.svelte.ts
index a5b59bf..2cde27f 100644
--- a/apps/tauri/src/lib/stores/app.svelte.ts
+++ b/apps/tauri/src/lib/stores/app.svelte.ts
@@ -162,7 +162,13 @@ async function toggleTask(taskId: string) {
listId: activeListId,
taskId,
});
- tasks = tasks.map((t) => (t.id === taskId ? updated : t));
+ // Move to top of list locally, then persist order in background
+ if (updated.status === "backlog") {
+ tasks = [updated, ...tasks.filter((t) => t.id !== taskId)];
+ invoke("reorder_task", { listId: activeListId, taskId, newPosition: 0 }).catch(() => {});
+ } else {
+ tasks = tasks.map((t) => (t.id === taskId ? updated : t));
+ }
} catch (e) {
error = String(e);
}