blob: 77bcb594b1ea187953f408270a209b5b3c6ed665 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
import cx from 'clsx';
import React from 'react';
import { useTranslation } from 'react-i18next';
import Modal from 'react-modal';
import Button from './Button';
import modalStyle from './Modal.module.scss';
import s from './ModalCloseAllConnections.module.scss';
const { useRef, useCallback, useMemo } = React;
export default function Comp({
confirm = 'close_all_confirm',
isOpen,
onRequestClose,
primaryButtonOnTap,
}) {
const { t } = useTranslation();
const primaryButtonRef = useRef(null);
const onAfterOpen = useCallback(() => {
primaryButtonRef.current.focus();
}, []);
const className = useMemo(
() => ({
base: cx(modalStyle.content, s.cnt),
afterOpen: s.afterOpen,
beforeClose: '',
}),
[]
);
return (
<Modal
isOpen={isOpen}
onRequestClose={onRequestClose}
onAfterOpen={onAfterOpen}
className={className}
overlayClassName={cx(modalStyle.overlay, s.overlay)}
>
<p>{t(confirm)}</p>
<div className={s.btngrp}>
<Button onClick={primaryButtonOnTap} ref={primaryButtonRef}>
{t('close_all_confirm_yes')}
</Button>
<div style={{ width: 20 }} />
<Button onClick={onRequestClose}>{t('close_all_confirm_no')}</Button>
</div>
</Modal>
);
}
|