"use client"; import "swiper/css/effect-coverflow"; import "swiper/css/pagination"; import "swiper/css/navigation"; import "swiper/css"; import "swiper/css/effect-cards"; import { motion } from "framer-motion"; import { ArrowRight } from "lucide-react"; import { useEffect, useRef, useState } from "react"; import type { Swiper as SwiperType } from "swiper"; import { Autoplay, EffectCoverflow } from "swiper/modules"; import { Swiper, SwiperSlide } from "swiper/react"; import { Button } from "@/components/ui/button"; import { cn } from "@/lib/utils"; const IMAGES = [ { src: "/block-media/shadcnblocks/block/lummi/random11.jpeg", alt: "اجرای زنده موسیقی در فضای شهری", }, { src: "/block-media/shadcnblocks/block/lummi/random1.jpeg", alt: "نوازنده در استودیو ضبط", }, { src: "/block-media/shadcnblocks/block/lummi/random2.jpeg", alt: "جمعیت در کنسرت روباز", }, { src: "/block-media/shadcnblocks/block/lummi/random11.jpeg", alt: "صحنه اجرای موسیقی الکترونیک", }, { src: "/block-media/shadcnblocks/block/lummi/random1.jpeg", alt: "تمرین گروه موسیقی", }, { src: "/block-media/shadcnblocks/block/lummi/random2.jpeg", alt: "جشن موسیقی در فضای باز", }, ]; const css = ` .mySwiper21 { width: 100%; height: 420px; padding-bottom: 50px; } .mySwiper21 .swiper-slide { background-position: center; background-size: cover; width: 300px; } .mySwiper21 .swiper-slide img { display: block; width: 100%; } .swiper-3d .swiper-slide-shadow-left { background-image: none; } .swiper-3d .swiper-slide-shadow-right { background: none; } `; interface Gallery21Props { className?: string; } const Gallery21 = ({ className }: Gallery21Props) => { const swiperRef = useRef(null); const swiperContainerRef = useRef(null); const [swiperReady, setSwiperReady] = useState(false); useEffect(() => { const swiper = swiperRef.current; if (!swiper || !swiperReady) { return; } const updateSwiper = () => { swiper.update(); swiper.slideToLoop(swiper.realIndex, 0); }; updateSwiper(); const container = swiperContainerRef.current; if (!container) { return; } const resizeObserver = new ResizeObserver(updateSwiper); resizeObserver.observe(container); return () => { resizeObserver.disconnect(); }; }, [swiperReady]); return (
{ swiperRef.current = swiper; setSwiperReady(true); }} > {IMAGES.map((image, index) => ( {image.alt} ))}

موسیقی را بشنوید: تجربه‌ای بی‌سابقه

); }; export { Gallery21 };