Files
mcb-platform-monorepo/packages/crypto/sign/components/cancel/index.tsx
T
2025-08-12 01:18:10 +03:00

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';