import Dialog, {
  type DialogProps,
} from '@material-hu/components/design-system/Dialog';

import { useLokaliseTranslation } from 'src/utils/i18n';

type DeleteNoteModalProps = DialogProps & {
  stageId: number;
  onConfirm: (args: { stageId: number }) => void;
  isLoading: boolean;
};

export const DeleteNoteModal = ({
  onClose,
  stageId,
  onConfirm,
  isLoading,
  primaryButtonProps,
  secondaryButtonProps,
}: DeleteNoteModalProps) => {
  const { t } = useLokaliseTranslation('ats');

  return (
    <Dialog
      onClose={onClose}
      title={t('job_application.notes.delete.title')}
      textBody={t('job_application.notes.delete.description')}
      primaryButtonProps={{
        ...primaryButtonProps,
        loading: isLoading,
        disabled: isLoading,
        children: t('general:delete'),
        onClick: () => onConfirm({ stageId }),
      }}
      secondaryButtonProps={{
        ...secondaryButtonProps,
        children: t('general:cancel'),
        onClick: onClose,
      }}
    />
  );
};
