import React, { useEffect } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { XIcon } from '@phosphor-icons/react'; const BrutalistModal = ({ isOpen, onClose, title, children, maxWidth = 'max-w-xl', }) => { useEffect(() => { const handleKeyDown = (event) => { if (event.key === 'Escape' && isOpen) { onClose(); } }; if (isOpen) { document.addEventListener('keydown', handleKeyDown); document.body.style.overflow = 'hidden'; } else { document.removeEventListener('keydown', handleKeyDown); document.body.style.overflow = ''; } return () => { document.removeEventListener('keydown', handleKeyDown); document.body.style.overflow = ''; }; }, [isOpen, onClose]); return ( {isOpen && (
e.stopPropagation()} >

{title}

{children}
)} ); }; export default BrutalistModal;