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

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

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

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

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