summaryrefslogtreecommitdiff
path: root/src/components/shared/BaseModal.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/shared/BaseModal.tsx')
-rw-r--r--src/components/shared/BaseModal.tsx29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/components/shared/BaseModal.tsx b/src/components/shared/BaseModal.tsx
new file mode 100644
index 0000000..dcd0b57
--- /dev/null
+++ b/src/components/shared/BaseModal.tsx
@@ -0,0 +1,29 @@
+import cx from 'clsx';
+import * as React from 'react';
+import Modal from 'react-modal';
+
+import modalStyle from '../Modal.module.css';
+import s from './BaseModal.module.css';
+
+const { useMemo } = React;
+
+export default function BaseModal({ isOpen, onRequestClose, children }) {
+ const className = useMemo(
+ () => ({
+ base: cx(modalStyle.content, s.cnt),
+ afterOpen: s.afterOpen,
+ beforeClose: '',
+ }),
+ []
+ );
+ return (
+ <Modal
+ isOpen={isOpen}
+ onRequestClose={onRequestClose}
+ className={className}
+ overlayClassName={cx(modalStyle.overlay, s.overlay)}
+ >
+ {children}
+ </Modal>
+ );
+}