import * as Dialog from '@radix-ui/react-dialog'; import { Loader2, Trash2, X } from 'lucide-react'; import type { CronJob } from '../../../lib/cron-types'; import { useI18n } from '../../../i18n'; type CronDeleteDialogProps = { open: boolean; job: CronJob | null; busy: boolean; onClose: () => void; onConfirm: () => void; }; export default function CronDeleteDialog({ open, job, busy, onClose, onConfirm, }: CronDeleteDialogProps) { const { t } = useI18n(); const jobName = job?.name.trim() ? job.name : t('cron.common.unnamedJob'); function handleOpenChange(nextOpen: boolean): void { if (!nextOpen && !busy) { onClose(); } } return ( { if (busy) { event.preventDefault(); } }} onPointerDownOutside={(event) => { if (busy) { event.preventDefault(); } }} >
{t('cron.deleteDialog.title')} {t('cron.confirmDelete', { name: jobName })}
{t('cron.deleteDialog.label')}
{jobName}
); }