import { Close as CloseIcon } from '@mui/icons-material'; import { Fade, IconButton, Modal } from '@mui/material'; import { useRouter } from 'next/router'; import styles from './BaseModal.module.scss'; type Props = { isOpen: boolean; heading: string; icon?: React.ReactNode; children?: React.ReactNode; footerChildren?: React.ReactNode; handleClose: () => void; }; const BaseModal: React.FC = ({ icon, isOpen, heading, children, handleClose, footerChildren }) => { const router = useRouter(); const { pathname, query } = router; const onClose = (event:object, reason:string) => { router.push({ pathname, query }, ''); if (reason === 'backdropClick') return; handleClose(); }; const onIconClose = () => { router.push({ pathname, query }, ''); handleClose(); }; return ( onClose(event, reason)} closeAfterTransition aria-labelledby={heading} classes={{ root: 'flex items-center justify-center' }} >
{icon} {icon && /}

{heading}

{children}
{footerChildren ? : null}
); }; export default BaseModal;