import { useEffect, type KeyboardEvent, type PropsWithChildren } from 'react' import type { SetState } from 'types' export default function Modal(props: PropsWithChildren<{ setOpen: SetState }>) { const { children, setOpen } = props useEffect(() => { const handleEsc = (ev: KeyboardEvent) => { if (ev.code === 'Escape') setOpen(false) } window.addEventListener('keydown', handleEsc) return () => { window.removeEventListener('keydown', handleEsc) } }, []) return (
setOpen(false)} >
ev.stopPropagation()} > {children}
) }