import { useState } from 'react'; import { Dialog, DialogContent, DialogHeader, DialogTitle } from '@/components/ui/dialog'; import { Button } from '@/components/ui/button'; import { useTranslation } from '@/components/locales'; type ConfirmDialogProps = { open: boolean; title: string; description?: string; onConfirm: () => void; onCancel: () => void; disabled?: boolean; children?: React.ReactNode; confirmLabel?: string; confirmVariant?: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link'; }; export const ConfirmDialog = (props: ConfirmDialogProps) => { const [confirming, setConfirming] = useState(false); const { t } = useTranslation(); const { open, disabled = false, title, description, children } = props; const { onConfirm, onCancel, confirmLabel, confirmVariant = 'default' } = props; const handleConfirm = async () => { setConfirming(true); await onConfirm(); setConfirming(false); }; return ( {title} {description &&

{description}

}
{children &&
{children}
}
); };