import React, { useCallback, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Button, InlineLoading, ModalBody, ModalFooter, ModalHeader } from '@carbon/react'; import { showSnackbar } from '@openmrs/esm-framework'; import { deleteProcedure, useMutatePatientProcedures } from '../../procedures.resource'; import styles from './delete-procedure.modal.scss'; type DeleteProcedureModalProps = { closeDeleteModal: () => void; procedureUuid: string; patientUuid: string; }; const DeleteProcedureModal: React.FC = ({ closeDeleteModal, procedureUuid, patientUuid, }) => { const { t } = useTranslation(); const mutate = useMutatePatientProcedures(patientUuid); const [isDeleting, setIsDeleting] = useState(false); const handleDelete = useCallback(async () => { setIsDeleting(true); try { await deleteProcedure(procedureUuid); await mutate(); closeDeleteModal(); showSnackbar({ isLowContrast: true, kind: 'success', title: t('procedureDeleted', 'Procedure deleted'), }); } catch (error) { setIsDeleting(false); console.error('Error deleting procedure: ', error); showSnackbar({ isLowContrast: false, kind: 'error', title: t('errorDeletingProcedure', 'Error deleting procedure'), subtitle: error?.message, }); } }, [closeDeleteModal, procedureUuid, mutate, t]); return (

{t('deleteModalConfirmationText', 'Are you sure you want to delete this procedure?')}

); }; export default DeleteProcedureModal;