import { AlertTriangle } from 'lucide-react' import { useTranslation } from 'react-i18next' import { Button } from '../ui/Button' import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '../ui/Dialog' import type { Certificate } from '../../api/certificates' interface DeleteCertificateDialogProps { certificate: Certificate | null open: boolean onConfirm: () => void onCancel: () => void isDeleting: boolean } function getWarningKey(cert: Certificate): string { if (cert.status === 'expired') return 'certificates.deleteConfirmExpired' if (cert.status === 'expiring') return 'certificates.deleteConfirmExpiring' if (cert.provider === 'letsencrypt-staging') return 'certificates.deleteConfirmStaging' return 'certificates.deleteConfirmCustom' } export default function DeleteCertificateDialog({ certificate, open, onConfirm, onCancel, isDeleting, }: DeleteCertificateDialogProps) { const { t } = useTranslation() if (!certificate) return null return ( { if (!isOpen) onCancel() }}> {t('certificates.deleteTitle')} {certificate.name || certificate.domains}

{t(getWarningKey(certificate))}

{t('certificates.domain')}
{certificate.domains}
{t('certificates.status')}
{certificate.status}
{t('certificates.provider')}
{certificate.provider}
) }