"use client"; import { useRouter } from "next/navigation"; import { ActionButton } from "@/components/ui/action-button"; import ActionConfirmingDialog from "@/components/ui/action-confirming-dialog"; import { Button } from "@/components/ui/button"; import { toast } from "@/components/ui/use-toast"; import { api } from "@/lib/trpc"; import { Trash2 } from "lucide-react"; import type { ZBookmarkList } from "@hoarder/trpc/types/lists"; export default function DeleteListButton({ list }: { list: ZBookmarkList }) { const router = useRouter(); const listsInvalidationFunction = api.useUtils().lists.list.invalidate; const { mutate: deleteList, isPending } = api.lists.delete.useMutation({ onSuccess: () => { listsInvalidationFunction(); toast({ description: `List "${list.icon} ${list.name}" is deleted!`, }); router.push("/"); }, onError: () => { toast({ variant: "destructive", description: `Something went wrong`, }); }, }); return ( ( deleteList({ listId: list.id })} > Delete )} > ); }