"use client"; import Autoplay from "embla-carousel-autoplay"; import { useEffect, useState } from "react"; import { Button } from "@/components/ui/button"; import { Carousel, type CarouselApi, CarouselContent, CarouselItem, } from "@/components/ui/carousel"; import { cn } from "@/lib/utils"; type Product = { name: string; image: string; href: string; }; interface HeroCarouselItem { image: string; title?: string; description?: string; cta?: { label: string; href: string; }; product?: Product; } const HERO_CAROUSEL = [ { title: "ظرافت بی‌دردسر مو", description: "اکسسوری‌های مو با طراحی ظریف که با لمس طلایی، استایل روزمره را ارتقا می‌دهند.", cta: { label: "خرید اکسسوری مو", href: "#", }, image: "/block-media/shadcnblocks/block/ecommerce/accessories/Elegant-Blonde-Hairstyle-2.png", product: { image: "/block-media/shadcnblocks/block/ecommerce/accessories/Golden-Hair-Clip-Close-Up-2.png", href: "#", name: "گیره مو طلایی", }, }, { title: "استایل خیابانی ماندگار", description: "سیلوئت‌های کلاسیک و تن‌های خنثی برای استایلی مدرن و باوقار.", cta: { label: "خرید کلاه", href: "#", }, image: "/block-media/shadcnblocks/block/ecommerce/accessories/Fashionable-Pose-2.png", product: { image: "/block-media/shadcnblocks/block/ecommerce/accessories/Stylish-Beige-Fedora-1.png", href: "#", name: "کلاه فدورا بژ", }, }, { title: "جزئیات چشمگیر", description: "جواهرات ظریف که به هر لباسی شخصیت و اعتماد به نفس می‌بخشد.", cta: { label: "مشاهده جواهرات", href: "#", }, image: "/block-media/shadcnblocks/block/ecommerce/accessories/Stylish-Seated-Portrait-2.png", product: { image: "/block-media/shadcnblocks/block/ecommerce/accessories/Elegant-Hand-Jewelry-1.png", href: "#", name: "زیورآلات زنجیر دست", }, }, { title: "جسور و براق", description: "عینک آفتابی شیک برای ظاهری تیز و محافظت در برابر نور روز.", cta: { label: "خرید عینک آفتابی", href: "#", }, image: "/block-media/shadcnblocks/block/ecommerce/accessories/Stylish-Woman-Portrait-2.png", product: { image: "/block-media/shadcnblocks/block/ecommerce/accessories/Stylish-Sunglasses-Close-Up-2.png", href: "#", name: "عینک آفتابی مدرن", }, }, { title: "پوشش راحتی مدرن", description: "برش‌های راحت و خطوط تمیز برای لباس پوشیدن روزمره بی‌دردسر.", cta: { label: "خرید پوشاک", href: "#", }, image: "/block-media/shadcnblocks/block/ecommerce/clothes/Modern-Casual-Style-m-2.png", product: { image: "/block-media/shadcnblocks/block/ecommerce/clothes/Modern-Casual-Style-2.png", href: "#", name: "ست استایل راحتی", }, }, ]; interface EcommerceHero8Props { className?: string; carouselItems: HeroCarouselItem[]; } const EcommerceHero8 = ({ className, carouselItems = HERO_CAROUSEL, }: EcommerceHero8Props) => { const [mainCarouselApi, setMainCarouselApi] = useState(); const [secondaryCarouselApi, setSecondaryCarouselApi] = useState(); const [current, setCurrent] = useState(0); useEffect(() => { if (!mainCarouselApi) return; const updateCurrent = (api: CarouselApi) => { if (!api) return; setCurrent(api?.selectedScrollSnap()); secondaryCarouselApi?.scrollTo(api?.selectedScrollSnap()); }; mainCarouselApi.on("reInit", updateCurrent).on("select", updateCurrent); return () => { mainCarouselApi.off("reInit", updateCurrent).off("select", updateCurrent); }; }, [mainCarouselApi, secondaryCarouselApi]); return (
{carouselItems.map(({ title, image, description, cta }, index) => (

{title}

{description}

{cta && ( )}
))}

کشف مجموعه ما

{carouselItems.map(({ product }, index) => (

{product?.name}

{product?.name}
))}
); }; export { EcommerceHero8 };