"use client"; import { type SVGProps, useEffect, useId, useState } from "react"; import type { CarouselApi } from "@/components/ui/carousel"; import { Carousel, CarouselContent, CarouselItem, } from "@/components/ui/carousel"; import { cn } from "@/lib/utils"; const TESTIMONIALS = [ { id: 1, quote: "سامانه مدیریت ارتباط با مشتری یکپارچه، مسیریابی لید هوشمند و داشبورد قیف شفاف دارد. درک عمیق از عملیات فروش برای مقیاس‌دهی درآمد ما حیاتی بوده.", author: "علی رحمانی", role: "بنیان‌گذار، میزبانی ابری", company: "Vercel", logo: "/block-media/shadcnblocks/block/logos/vercel-wordmark.svg", }, { id: 2, quote: "اتوماسیون بازاریابی و انتقال یکپارچه به فروش، عملیات درآمد ما را متحول کرد. انعطاف و سرعت پلتفرم به ما امکان داده قیف را کارآمد مقیاس دهیم.", author: "مازیار رضایی", role: "مدیر عملیات درآمد، Astro", company: "Astro", logo: "/block-media/shadcnblocks/block/logos/astro-wordmark.svg", }, { id: 3, quote: "از انتظارات فراتر رفت؛ یکپارچه‌سازی سامانه مدیریت ارتباط با مشتری روان و پشتیبانی فروش استثنایی. نمره‌دهی لید و گزارش قیف در مسیر رشد ما نقش کلیدی داشته.", author: "سارا احمدی", role: "مدیر فروش، طراحی رابط", company: "Figma", logo: "/block-media/shadcnblocks/block/logos/figma-wordmark.svg", }, { id: 4, quote: "نحوه مدیریت حساب‌های کلیدی و تمدید قرارداد را متحول کرد. دید بلادرنگ از فرصت‌ها، انعطاف ساخت فرایندهای فروش سفارشی را به ما داده.", author: "کاوه مرادی", role: "مدیرعامل، پایگاه داده ابری", company: "Supabase", logo: "/block-media/shadcnblocks/block/logos/supabase-wordmark.svg", }, { id: 5, quote: "ترکیب اتوماسیون کمپین و داشبورد فروش بلادرنگ، هماهنگی بازاریابی و فروش را متحول کرد. سرعت پاسخ به لید و دقت پیش‌بینی درآمد بی‌رقیب است.", author: "نیلوفر حسینی", role: "مدیر بازاریابی، ری یو آی", company: "Shadcn/ui", logo: "/block-media/shadcnblocks/block/logos/shadcn-ui-wordmark.svg", }, ]; interface Testimonial26Props { className?: string; } const Testimonial26 = ({ className }: Testimonial26Props) => { const [api, setApi] = useState(); const [current, setCurrent] = useState(0); useEffect(() => { if (!api) { return; } api.on("select", () => { setCurrent(api.selectedScrollSnap()); }); }, [api]); return (
{TESTIMONIALS.map((testimonial) => (
{testimonial.quote}
{testimonial.logo && (
)} ))}
{TESTIMONIALS.map((_, index) => (
); }; interface PlusSignsProps extends SVGProps { className?: string; } const PlusSigns = ({ className, ...props }: PlusSignsProps) => { const GAP = 18; const STROKE_WIDTH = 1; const PLUS_SIZE = 4; const id = useId(); const patternId = `plus-pattern-${id}`; return ( ); }; export { Testimonial26 };