"use client"; import "swiper/css"; import "swiper/css/effect-cards"; import { useEffect, useRef } from "react"; import { Autoplay, EffectCards } from "swiper/modules"; import type { Swiper as SwiperType } from "swiper"; import { Swiper, SwiperSlide } from "swiper/react"; import { cn } from "@/lib/utils"; const IMAGES = [ { src: "/block-media/shadcnblocks/block/lummi/person1.jpg", alt: "پرتره سارا احمدی در فضای شهری", name: "سارا احمدی", }, { src: "/block-media/shadcnblocks/block/lummi/person2.jpg", alt: "پرتره مریم رضایی در نور طبیعی", name: "مریم رضایی", }, { src: "/block-media/shadcnblocks/block/lummi/person3.jpg", alt: "پرتره نیلوفر کریمی در استودیو", name: "نیلوفر کریمی", }, { src: "/block-media/shadcnblocks/block/lummi/random11.jpg", alt: "پرتره امیر حسینی در فضای باز", name: "امیر حسینی", }, { src: "/block-media/shadcnblocks/block/lummi/random11.jpg", alt: "پرتره لیلا محمدی در فضای شهری", name: "لیلا محمدی", }, { src: "/block-media/shadcnblocks/block/lummi/person1.jpg", alt: "پرتره کامران نظری در نور طبیعی", name: "کامران نظری", }, { src: "/block-media/shadcnblocks/block/lummi/person2.jpg", alt: "پرتره فاطمه موسوی در استودیو", name: "فاطمه موسوی", }, { src: "/block-media/shadcnblocks/block/lummi/person3.jpg", alt: "پرتره پدرام جعفری در فضای باز", name: "پدرام جعفری", }, { src: "/block-media/shadcnblocks/block/lummi/random11.jpg", alt: "پرتره سمیه لاری در فضای شهری", name: "سمیه لاری", }, { src: "/block-media/shadcnblocks/block/lummi/person2.jpg", alt: "پرتره علی رضایی در نور طبیعی", name: "علی رضایی", }, { src: "/block-media/shadcnblocks/block/lummi/person1.jpg", alt: "پرتره مایا اکبری در استودیو", name: "مایا اکبری", }, { src: "/block-media/shadcnblocks/block/lummi/person3.jpg", alt: "پرتره رضا امجد در فضای باز", name: "رضا امجد", }, ]; const css = ` .mySwiper18 { width: min(78vw, 260px); height: min(102vw, 340px); margin-inline: auto; } @media (min-width: 640px) { .mySwiper18 { width: 260px; height: 340px; } } .mySwiper18 .swiper-slide { display: flex; align-items: center; justify-content: center; border-radius: 25px; } .mySwiper18 .swiper-slide-active { overflow: visible !important; } `; interface Gallery18Props { className?: string; } const Gallery18 = ({ className }: Gallery18Props) => { const swiperRef = useRef(null); useEffect(() => { swiperRef.current?.update(); }, []); return (
{ swiperRef.current = swiper; }} > {IMAGES.map((image, index) => ( {image.alt}
@{image.name.replace(/\s+/g, "_")}
))}
); }; export { Gallery18 };