"use client"; import { useEffect, useState } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardTitle, } from "@/components/ui/card"; import type { CarouselApi } from "@/components/ui/carousel"; import { Carousel, CarouselContent, CarouselItem, } from "@/components/ui/carousel"; import { cn } from "@/lib/utils"; type Incentive = { title: string; icon?: string; text: string; }; type IncentivesSection = { list: Incentive[]; overline: string; text: { strong: string; regular: string; }; cta: { link: string; text: string; }; }; interface Incentives7Props extends IncentivesSection { className?: string; } const INCENTIVES_SECTION: IncentivesSection = { overline: "درباره ما", text: { strong: "برای عملکرد طراحی شده، برای راحتی ساخته شده و برای ماندگاری ", regular: "لباس‌های ما با هر قدم، هر حرکت و هر روز استراحت همراهتانند. میانبر نیست؛ فقط پارچه‌های پیشرفته و برش استثنایی.", }, cta: { link: "#", text: "بیشتر درباره ما", }, list: [ { icon: "/block-media/shadcnblocks/block/block-1.svg", title: "طراحی دوستدار محیط زیست", text: "با پارچه‌های سازگار با محیط زیست ساخته شده برای عملکرد برتر و کاهش اثر زیست‌محیطی.", }, { icon: "/block-media/shadcnblocks/block/block-2.svg", title: "پرداخت امن", text: "اطلاعات شما با پرداخت رمزنگاری‌شده محافظت می‌شود؛ تراکنش‌هایی مطمئن و بی‌دردسر.", }, { icon: "/block-media/shadcnblocks/block/block-3.svg", title: "مرجوعی آسان", text: "حس مناسب نبود؟ تا ۳۰ روز، تعویض یا مرجوعی رایگان داشته باشید.", }, { icon: "/block-media/shadcnblocks/block/block-4.svg", title: "ارسال سراسری", text: "هر جا که تمرین می‌کنید، لباس‌های ورزشی باکیفیت را تا درب منزل تحویل می‌گیرید.", }, ], }; const Incentives7 = ({ list = INCENTIVES_SECTION.list, overline = INCENTIVES_SECTION.overline, text = INCENTIVES_SECTION.text, cta = INCENTIVES_SECTION.cta, className, }: Incentives7Props) => { const [current, setCurrent] = useState(0); const [api, setApi] = useState(); useEffect(() => { if (!api) return; const updateCurrent = (api: CarouselApi) => { setCurrent(api?.selectedScrollSnap() ?? 0); }; updateCurrent(api); api.on("reInit", updateCurrent).on("select", updateCurrent); return () => { api.off("reInit", updateCurrent).off("select", updateCurrent); }; }, [api]); return (

{overline}

{text.strong} {text.regular}

{list.map((item, index) => ( {item.title}
{item.title} {item.text}
))}
); }; export { Incentives7 };