"use client"; import React from "react"; import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, } from "@/components/ui/alert-dialog"; import { Loader2 } from "lucide-react"; interface DeleteConfirmModalProps { open: boolean; onOpenChange: (open: boolean) => void; title: string; description: React.ReactNode; onConfirm: () => void | Promise; confirmText?: string; isLoading?: boolean; } /** * 삭제 확인 모달 (공통 컴포넌트) * - 표준 디자인: shadcn AlertDialog 기반 * - 반응형: 모바일/데스크톱 최적화 * - 로딩 상태 지원 */ export function DeleteConfirmModal({ open, onOpenChange, title, description, onConfirm, confirmText = "삭제", isLoading = false, }: DeleteConfirmModalProps) { return ( {title} {description} 취소 {isLoading && } {confirmText} ); }