'use client'; import { useEffect, useState } from 'react'; import { X, ChevronLeft, ChevronRight } from 'lucide-react'; export default function MediaGallery({ images, title }) { const [active, setActive] = useState(null); useEffect(() => { if (active === null) return; const onKey = (event) => { if (event.key === 'Escape') setActive(null); if (event.key === 'ArrowLeft') setActive((active + 1) % images.length); if (event.key === 'ArrowRight') setActive((active - 1 + images.length) % images.length); }; document.body.style.overflow = 'hidden'; window.addEventListener('keydown', onKey); return () => { document.body.style.overflow = ''; window.removeEventListener('keydown', onKey); }; }, [active, images.length]); if (!images.length) return null; return <>