diff --git a/app/(dashboard)/[tenant]/projects/[projectId]/tasklists/actions.ts b/app/(dashboard)/[tenant]/projects/[projectId]/tasklists/actions.ts index 6abc653..1554782 100644 --- a/app/(dashboard)/[tenant]/projects/[projectId]/tasklists/actions.ts +++ b/app/(dashboard)/[tenant]/projects/[projectId]/tasklists/actions.ts @@ -161,6 +161,31 @@ export async function partialUpdateTaskList( revalidatePath(`/${orgSlug}/projects/${updated.projectId}/tasklists`); } +export async function deleteTaskList({ + id, + projectId, +}: { + id: number; + projectId: number; +}) { + const { orgSlug } = await getOwner(); + const db = await database(); + const taskListDetails = db + .delete(taskList) + .where(eq(taskList.id, +id)) + .returning() + .get(); + + await logActivity({ + action: "deleted", + type: "tasklist", + message: `Deleted task list ${taskListDetails?.name}`, + projectId: +projectId, + }); + + revalidatePath(`/${orgSlug}/projects/${projectId}/tasklists`); +} + export async function createTask({ userId, taskListId, diff --git a/components/project/tasklist/tasklist-header.tsx b/components/project/tasklist/tasklist-header.tsx index 99ffe73..bb99cbc 100644 --- a/components/project/tasklist/tasklist-header.tsx +++ b/components/project/tasklist/tasklist-header.tsx @@ -1,6 +1,9 @@ "use client"; -import { forkTaskList } from "@/app/(dashboard)/[tenant]/projects/[projectId]/tasklists/actions"; +import { + deleteTaskList, + forkTaskList, +} from "@/app/(dashboard)/[tenant]/projects/[projectId]/tasklists/actions"; import { Button, buttonVariants } from "@/components/ui/button"; import { DropdownMenu, @@ -144,6 +147,27 @@ export const TaskListHeader = ({ Fork + + +