"use client" import * as React from "react" import { toast } from "sonner" import { Trash2 } from "lucide-react" import { Button } from "@/components/ui/button" import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, } from "@/components/ui/alert-dialog" import { deleteTechVendorContact } from "../service" import type { TechVendorContact } from "@/db/schema/techVendors" interface DeleteContactDialogProps { contact: TechVendorContact vendorId: number onSuccess?: () => void } export function DeleteContactDialog({ contact, vendorId, onSuccess }: DeleteContactDialogProps) { const [isDeleting, setIsDeleting] = React.useState(false) const handleDelete = async () => { setIsDeleting(true) try { const result = await deleteTechVendorContact(contact.id, vendorId) if (result.success) { toast.success("담당자가 성공적으로 삭제되었습니다.") onSuccess?.() } else { toast.error(result.error || "담당자 삭제 중 오류가 발생했습니다.") } } catch (error) { console.error("담당자 삭제 오류:", error) toast.error("담당자 삭제 중 오류가 발생했습니다.") } finally { setIsDeleting(false) } } return ( 담당자 삭제 {contact.contactName} 담당자를 정말 삭제하시겠습니까?
이 작업은 되돌릴 수 없으며, 관련된 모든 데이터(아이템 매핑 등)가 함께 삭제됩니다.
취소 {isDeleting ? "삭제 중..." : "삭제"}
) }