import React, { useEffect } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { X } from 'lucide-react'; import { Button } from '@/components/ui/button'; const Modal = ({ isOpen, onClose, title, children }) => { // Close on ESC key useEffect(() => { const handleEsc = (e) => { if (e.key === 'Escape') onClose(); }; window.addEventListener('keydown', handleEsc); return () => window.removeEventListener('keydown', handleEsc); }, [onClose]); // Prevent scroll when open useEffect(() => { if (isOpen) { document.body.style.overflow = 'hidden'; } else { document.body.style.overflow = 'unset'; } }, [isOpen]); return ( {isOpen && (
{/* Backdrop */} {/* Modal Content */} {/* Header */}

{title}

{/* Body */}
{children}
)}
); }; export default Modal;