import React, { useEffect } from "react"; import "./modal-styles.scss"; import { ModalProps } from "@app/models/components"; import Button from "../button/Button"; import Card from "../card/Card"; import { CloseIcon } from "@app/assets/images/icons"; import CardHeader from "../card-header/CardHeader"; import CardContent from "../card-content/CardContent"; import CardSection from "../card-section/CardSection"; const Modal: React.FC = ({ isOpen, onClose, title = "", modalActions, children, }) => { useEffect(() => { if (isOpen) { document.body.style.overflow = "hidden"; } return () => { document.body.style.overflow = "auto"; }; }, [isOpen]); if (!isOpen) return null; return ( <> {title && children && (
e.stopPropagation()} > {CloseIcon} {title && } {children} {!!modalActions?.length && (
{modalActions.map((buttonProps) => (
)}
)} ); }; export default Modal;