"use client"; import { useEffect, useState } from "react"; import useEmblaCarousel from "embla-carousel-react"; import { Icon } from "@iconify/react"; import ImageViewer from "./image-viewer"; interface Props { images: string[]; className?: string; } export default function Carousel({ images, className }: Props) { const [emblaRef, emblaApi] = useEmblaCarousel(); const [selectedIndex, setSelectedIndex] = useState(0); const [scrollSnaps, setScrollSnaps] = useState([]); useEffect(() => { if (!emblaApi) return; setScrollSnaps(emblaApi.scrollSnapList()); emblaApi.on("select", () => setSelectedIndex(emblaApi.selectedScrollSnap())); }, [emblaApi]); return (
{images.map((src, index) => (
))}
{images.length > 1 && ( <>
{scrollSnaps.map((_, index) => (
)}
); }