Delete tasks from the board

Adds DELETE /api/orgboard/tasks/{id} (WorkTasks permission) and a "Delete task" button
in the task drawer (with confirm). Children are detached (kept as top-level) rather than
deleted; status-transition history is dropped. There was previously no way to remove a task.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-16 22:03:14 +03:30
parent cb9ce34309
commit 9993ebb2b4
3 changed files with 50 additions and 1 deletions
+16 -1
View File
@@ -8,7 +8,7 @@ import {
useSensors,
type DragEndEvent,
} from '@dnd-kit/core'
import { Bot, Plus } from 'lucide-react'
import { Bot, Plus, Trash2 } from 'lucide-react'
import { toast } from 'sonner'
import { AppShell } from '@/components/AppShell'
import { Badge } from '@/components/ui/badge'
@@ -554,6 +554,21 @@ function TaskDrawer({
</div>
</div>
)}
<div className="mt-2 border-t pt-4">
<Button
variant="destructive"
size="sm"
disabled={busy}
onClick={() => {
if (window.confirm(`Delete "${task.title}"? This can't be undone.`)) {
act(() => api.del(`/api/orgboard/tasks/${task.id}`), 'Task deleted.').then(onClose)
}
}}
>
<Trash2 data-icon="inline-start" /> Delete task
</Button>
</div>
</SheetContent>
</Sheet>
)