import React, { useEffect } from 'react'; import { FiX } from 'react-icons/fi'; const Modal = ({ open, onClose, title, subtitle, children, size = 'md' }) => { useEffect(() => { if (!open) return; const handler = (e) => { if (e.key === 'Escape') onClose(); }; window.addEventListener('keydown', handler); document.body.style.overflow = 'hidden'; return () => { window.removeEventListener('keydown', handler); document.body.style.overflow = ''; }; }, [open, onClose]); if (!open) return null; const widths = { sm: 'max-w-md', md: 'max-w-2xl', lg: 'max-w-4xl', }; return (
{ if (e.target === e.currentTarget) onClose(); }} >

{title}

{subtitle &&

{subtitle}

}
{children}
); }; export default Modal;