import { usePathname, useRouter } from "next/navigation"; import { ActionButton } from "@/components/ui/action-button"; import ActionConfirmingDialog from "@/components/ui/action-confirming-dialog"; import { toast } from "@/components/ui/use-toast"; import type { ZBookmarkList } from "@karakeep/shared/types/lists"; import { useDeleteBookmarkList } from "@karakeep/shared-react/hooks/lists"; export default function DeleteListConfirmationDialog({ list, children, open, setOpen, }: { list: ZBookmarkList; children?: React.ReactNode; open: boolean; setOpen: (v: boolean) => void; }) { const currentPath = usePathname(); const router = useRouter(); const { mutate: deleteList, isPending } = useDeleteBookmarkList({ onSuccess: () => { toast({ description: `List "${list.icon} ${list.name}" is deleted!`, }); setOpen(false); if (currentPath.includes(list.id)) { router.push("/dashboard/lists"); } }, onError: () => { toast({ variant: "destructive", description: `Something went wrong`, }); }, }); return ( ( deleteList({ listId: list.id })} > Delete )} > {children} ); }