'use client'; import React, { useState, useEffect } from 'react'; import Image from 'next/image'; import { useTranslations } from 'next-intl'; import { Section, Container, Heading } from '../../components/ui'; import Lightbox from '../Lightbox'; import { useSearchParams } from 'next/navigation'; export default function GallerySection() { const t = useTranslations('Home.gallery'); const searchParams = useSearchParams(); const images = [ '/uploads/2024/12/DSC07433-Large-600x400.webp', '/uploads/2024/12/DSC07460-Large-600x400.webp', '/uploads/2024/12/DSC07469-Large-600x400.webp', '/uploads/2024/12/DSC07539-Large-600x400.webp', '/uploads/2024/12/DSC07655-Large.webp', '/uploads/2024/12/DSC07768-Large.webp', ]; const [lightboxOpen, setLightboxOpen] = useState(false); const [lightboxIndex, setLightboxIndex] = useState(0); useEffect(() => { const photoParam = searchParams.get('photo'); if (photoParam !== null) { const index = parseInt(photoParam, 10); if (!isNaN(index) && index >= 0 && index < images.length) { if (lightboxIndex !== index) setLightboxIndex(index); if (!lightboxOpen) setLightboxOpen(true); } } }, [searchParams, images.length, lightboxIndex, lightboxOpen]); return (
{t('title')}
{images.map((src, idx) => ( ))}
setLightboxOpen(false)} />
); }