import { useEffect, type ReactNode } from 'react'; interface ModalProps { open: boolean; onClose: () => void; title: string; children: ReactNode; } export default function Modal({ open, onClose, title, children }: ModalProps) { useEffect(() => { if (!open) return; const onKey = (e: KeyboardEvent) => { if (e.key === 'Escape') onClose(); }; window.addEventListener('keydown', onKey); return () => window.removeEventListener('keydown', onKey); }, [open, onClose]); if (!open) return null; return (
e.stopPropagation()}>

{title}

{children}
); }