55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
import React, { useState } from 'react';
|
|
import { Informer } from '@fractal-ui/extended';
|
|
import { Modal, type ModalButtonProps } from '@fractal-ui/overlays';
|
|
import { Wrapper as Space } from '@fractal-ui/styling';
|
|
import { addCmpToPortal, removeCmpFromPortal } from '@msb/shared';
|
|
import { useTranslation } from 'react-i18next';
|
|
import { LOCALE_NAME } from '../../../core';
|
|
import type { ICancelModal } from './types';
|
|
|
|
const CancelModal: React.FC<ICancelModal> = () => {
|
|
const [isOpened, setIsOpened] = useState(true);
|
|
const { t } = useTranslation(LOCALE_NAME);
|
|
|
|
const handleClose = () => {
|
|
setIsOpened(false);
|
|
removeCmpFromPortal('CancelModal');
|
|
};
|
|
|
|
const handleAccept = () => {
|
|
setIsOpened(false);
|
|
};
|
|
|
|
const actions: ModalButtonProps[] = [
|
|
{
|
|
dataAction: 'close',
|
|
onClick: handleClose,
|
|
size: 'L',
|
|
variant: 'blue',
|
|
width: 'auto',
|
|
text: t('btn.cancel'),
|
|
},
|
|
{
|
|
dataAction: 'continue',
|
|
onClick: handleAccept,
|
|
size: 'L',
|
|
variant: 'primary',
|
|
width: 'auto',
|
|
text: t('sign.modal.fractalSignModal.cancelProcessing.btn.batchProcessing'),
|
|
},
|
|
];
|
|
|
|
return (
|
|
<Modal actions={actions} header={t('sign.modal.fractalSignModal.cancelProcessing.txt.cancel') ?? ''} isOpen={isOpened} width="600px">
|
|
<Space mt={'5'} />
|
|
<Informer statusIcon variant="warning">
|
|
{t('sign.modal.fractalSignModal.cancelProcessing.txt.desc') ?? ''}
|
|
</Informer>
|
|
</Modal>
|
|
);
|
|
};
|
|
|
|
export const openCancelModal = () => addCmpToPortal('CancelModal', CancelModal);
|
|
|
|
CancelModal.displayName = 'CancelModal';
|