"use client" import type React from "react" import { useState } from "react" import { Button } from "@/components/ui/button" import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog" import { AlertTriangle, Loader2, Trash2 } from "lucide-react" type DeleteConfirmationDialogProps = { title: string description: string itemName: string onDelete: () => Promise trigger?: React.ReactNode } export function DeleteConfirmationDialog({ title, description, itemName, onDelete, trigger, }: DeleteConfirmationDialogProps) { const [open, setOpen] = useState(false) const [isDeleting, setIsDeleting] = useState(false) const handleDelete = async () => { setIsDeleting(true) try { await onDelete() setOpen(false) } catch (error) { console.error("删除失败:", error) alert("删除失败,请重试!") } finally { setIsDeleting(false) } } return ( {trigger || ( )} {title} {description}

您确定要删除 {itemName} 吗?此操作无法撤销。

) }