Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com>
This commit is contained in:
gpt-engineer-app[bot]
2026-05-14 23:21:11 +00:00
co-authored by renee-png
parent e9843bf6cb
commit 1f0c75281f
+20 -1
View File
@@ -179,7 +179,20 @@ function TasksPage() {
const toggleComplete = async (t: TaskRow, checked: boolean) => {
if (!user) return;
await supabase
// Optimistic update so the row moves between lists immediately.
setTasks((prev) =>
prev.map((row) =>
row.id === t.id
? {
...row,
status: checked ? "complete" : "incomplete",
completed_by: checked ? user.id : null,
completed_at: checked ? (new Date().toISOString() as any) : null,
}
: row,
),
);
const { error } = await supabase
.from("tasks")
.update({
status: checked ? "complete" : "incomplete",
@@ -187,6 +200,11 @@ function TasksPage() {
completed_at: checked ? (new Date().toISOString() as any) : null,
})
.eq("id", t.id);
if (error) {
toast.error(error.message);
load();
return;
}
await supabase.from("task_history").insert({
task_id: t.id,
actor_id: user.id,
@@ -196,6 +214,7 @@ function TasksPage() {
if (checked) {
await spawnNextWorkflowTask(t.id);
}
load();
};
const overdueCount = grouped.Overdue.length;