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