From f262db232169e7dcb4c0ef96b8eb10e0227c3cc5 Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Tue, 14 Jul 2026 19:09:02 +0000 Subject: [PATCH] Deploy --- .../sections/SafariGallerySection.tsx | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 src/components/sections/SafariGallerySection.tsx diff --git a/src/components/sections/SafariGallerySection.tsx b/src/components/sections/SafariGallerySection.tsx new file mode 100644 index 0000000..58caab5 --- /dev/null +++ b/src/components/sections/SafariGallerySection.tsx @@ -0,0 +1,112 @@ +'use client' + +import { useState } from 'react' +import { useEmDashContent } from '@/hooks/useEmDashContent' +import Image from 'next/image' +import { ArrowLeft, ArrowRight, X } from 'lucide-react' +import { Modal } from '@/components/ui/Modal' +import { Card, CardContent } from '@/components/ui/Card' + +export default function SafariGallerySection() { + const { items, loading } = useEmDashContent('gallery') + const [selectedIndex, setSelectedIndex] = useState(null) + + if (loading) { + return ( +
+
+
+ ) + } + + if (items.length === 0) return null + + const openLightbox = (index: number) => setSelectedIndex(index) + const closeLightbox = () => setSelectedIndex(null) + const prev = () => setSelectedIndex((prev) => (prev === null ? null : (prev - 1 + items.length) % items.length)) + const next = () => setSelectedIndex((prev) => (prev === null ? null : (prev + 1) % items.length)) + + return ( + + ) +}