Files
reui-blocks/blocks/testimonial19.tsx
T

149 lines
6.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use client";
import AutoScroll from "embla-carousel-auto-scroll";
import { ChevronRight, Star, Zap } from "lucide-react";
import { useRef } from "react";
import { Avatar, AvatarImage } from "@/components/ui/avatar";
import { Card } from "@/components/ui/card";
import {
Carousel,
CarouselContent,
CarouselItem,
} from "@/components/ui/carousel";
import { cn } from "@/lib/utils";
const testimonials = [
{
name: "سارا احمدی",
role: "مدیرعامل و بنیان‌گذار",
avatar:
"/block-media/shadcnblocks/block/avatar-1.webp",
content:
"این سامانه مدیریت ارتباط با مشتری نحوه مدیریت قیف فروش ما را متحول کرد. لیدها، فرصت‌ها و پیگیری‌ها در یک جریان شفاف هستند.",
},
{
name: "مازیار رضایی",
role: "مدیر عملیات درآمد",
avatar:
"/block-media/shadcnblocks/block/avatar-2.webp",
content:
"یکپارچه‌سازی با ابزارهای بازاریابی بی‌نقص بود. انتقال لید به فروش بدون تأخیر و بدون داده ناقص انجام می‌شود.",
},
{
name: "نیلوفر حسینی",
role: "مدیر فروش",
avatar:
"/block-media/shadcnblocks/block/avatar-3.webp",
content:
"داشبورد فعالیت نمایندگان و یادآورهای پیگیری، نرخ پاسخ‌دهی تیم را به‌طور محسوسی بالا برد.",
},
{
name: "امیر محمدی",
role: "سرپرست فروش سازمانی",
avatar:
"/block-media/shadcnblocks/block/avatar-4.webp",
content:
"اتوماسیون پیگیری و قالب‌های ایمیل، چرخه مذاکره را کوتاه‌تر و پیش‌بینی درآمد را دقیق‌تر کرد.",
},
{
name: "رؤیا کاظمی",
role: "مدیر بازاریابی",
avatar:
"/block-media/shadcnblocks/block/avatar-1.webp",
content:
"نمره‌دهی لید و کمپین‌های خودکار، کیفیت ورودی فروش را بالا برد و هزینه جذب مشتری را کاهش داد.",
},
{
name: "پارسا موسوی",
role: "تحلیل‌گر عملیات فروش",
avatar:
"/block-media/shadcnblocks/block/avatar-6.webp",
content:
"گزارش‌های بلادرنگ قیف و نرخ تبدیل، جلسات هفته‌ای فروش را داده‌محور و کوتاه‌تر کرده است.",
},
];
interface Testimonial19Props {
className?: string;
}
const Testimonial19 = ({ className }: Testimonial19Props) => {
const plugin = useRef(
AutoScroll({
startDelay: 500,
speed: 0.7,
}),
);
return (
<section dir="rtl" lang="fa" className={cn("py-32", className)}>
<div className="container flex flex-col items-center gap-4">
<div className="flex items-center gap-1 text-sm font-semibold">
<Zap className="h-6 w-auto fill-primary" />
امتیاز ۵ ستاره از بیش از ۱۰۰۰ مشتری
</div>
<h2 className="text-center text-3xl font-semibold lg:text-xl">
تیم‌هایی که فروش را با سامانه مدیریت ارتباط با مشتری ما مقیاس دادند
</h2>
<p className="text-center text-muted-foreground lg:text-lg">
مورد اعتماد مدیران فروش، بازاریابی و عملیات درآمد
</p>
<a href="#" className="flex items-center gap-1 font-semibold">
مشاهده همه نظرات
<ChevronRight className="mt-0.5 h-4 w-auto" />
</a>
</div>
<div className="lg:container">
<div className="mt-16 space-y-4">
<Carousel
opts={{
loop: true,
}}
plugins={[plugin.current]}
onMouseLeave={() => plugin.current.play()}
className="relative before:absolute before:top-0 before:bottom-0 before:left-0 before:z-10 before:w-36 before:bg-linear-to-r before:from-background before:to-transparent after:absolute after:top-0 after:right-0 after:bottom-0 after:z-10 after:w-36 after:bg-linear-to-l after:from-background after:to-transparent"
>
<CarouselContent>
{testimonials.map((testimonial, index) => (
<CarouselItem key={index} className="basis-auto">
<Card className="max-w-96 p-6 select-none">
<div className="flex justify-between">
<div className="mb-4 flex gap-4">
<Avatar className="size-14 rounded-full ring-1 ring-input">
<AvatarImage
src={testimonial.avatar}
alt={testimonial.name}
/>
</Avatar>
<div>
<p className="font-medium">{testimonial.name}</p>
<p className="text-sm text-muted-foreground">
{testimonial.role}
</p>
</div>
</div>
<div className="flex gap-1">
<Star className="size-5 fill-amber-500 text-amber-500" />
<Star className="size-5 fill-amber-500 text-amber-500" />
<Star className="size-5 fill-amber-500 text-amber-500" />
<Star className="size-5 fill-amber-500 text-amber-500" />
<Star className="size-5 fill-amber-500 text-amber-500" />
</div>
</div>
<q className="leading-7 text-muted-foreground">
{testimonial.content}
</q>
</Card>
</CarouselItem>
))}
</CarouselContent>
</Carousel>
</div>
</div>
</section>
);
};
export { Testimonial19 };