import { useEffect, useRef } from 'react'; import { createPortal } from 'react-dom'; export default function ImageLightbox({ src, onClose }) { const overlayRef = useRef(null); // Close on Escape useEffect(() => { const handler = (e) => { if (e.key === 'Escape') onClose(); }; window.addEventListener('keydown', handler); // Prevent body scroll while open document.body.style.overflow = 'hidden'; return () => { window.removeEventListener('keydown', handler); document.body.style.overflow = ''; }; }, [onClose]); return createPortal(