/** * ConfirmDialog Component * * A reusable confirmation dialog using ShadCN Dialog components. * Used to confirm destructive actions like deleting projects. */ import type { ReactNode } from 'react' import { AlertTriangle } from 'lucide-react' import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@/components/ui/dialog' import { Button } from '@/components/ui/button' interface ConfirmDialogProps { isOpen: boolean title: string message: ReactNode confirmLabel?: string cancelLabel?: string variant?: 'danger' | 'warning' isLoading?: boolean onConfirm: () => void onCancel: () => void } export function ConfirmDialog({ isOpen, title, message, confirmLabel = 'Confirm', cancelLabel = 'Cancel', variant = 'danger', isLoading = false, onConfirm, onCancel, }: ConfirmDialogProps) { return ( !open && onCancel()}>
{title}
{message}
) }