Files
reui-blocks/blocks/testimonial8.tsx
T

150 lines
7.2 KiB
TypeScript

"use client";
import { Avatar, AvatarImage } from "@/components/ui/avatar";
import { Card } from "@/components/ui/card";
import { cn } from "@/lib/utils";
const defaultTestimonials = [
{
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-7.webp",
content:
"به‌عنوان مدیر محصول، به ابزاری نیاز دارم که نظم و ارتباط مؤثر با تیم را ممکن کند. این پلتفرم با مدیریت جامع پروژه، داشبوردهای گزارش‌دهی شفاف و ابزارهای همکاری یکپارچه، هر دو را فراهم می‌کند. ردیابی پیشرفت در لحظه برای برنامه‌ریزی اسپرینت و به‌روزرسانی ذینفعان برای ما بسیار ارزشمند بوده است.",
},
{
name: "امیر محمدی",
role: "مدیر عملیات",
avatar:
"/block-media/shadcnblocks/block/avatar-4.webp",
content:
"قابلیت‌های تحلیل و گزارش‌دهی دید بی‌سابقه‌ای به عملیات ما داده است. اکنون با اطمینان تصمیم‌های مبتنی بر داده می‌گیریم و کارایی در همه بخش‌ها به‌طور چشمگیری بهبود یافته. داشبوردهای سفارشی و گزارش‌های خودکار هر هفته ساعت‌ها وقت ما را ذخیره می‌کند.",
},
{
name: "سمیه اکبری",
role: "سرپرست فنی",
avatar:
"/block-media/shadcnblocks/block/avatar-7.webp",
content:
"تجربه توسعه استثنایی. اتصال هوشمند مستندسازی شده و SDKها پایدار و قابل اعتمادند.",
},
{
name: "مهتاب شریفی",
role: "طراح",
avatar:
"/block-media/shadcnblocks/block/avatar-1.webp",
content:
"سیستم طراحی و کتابخانه کامپوننت، فرایند طراحی ما را ساده کرد. اکنون رابط‌های یکدست و زیبا را بسیار سریع‌تر می‌سازیم و همکاری بین طراحی و توسعه هرگز این‌قدر روان نبوده. کنترل نسخه برای دارایی‌های طراحی و فرایند تحویل بدون اصطکاک، تکرارهای بی‌پایان رفت و برگشت را حذف کرده است.",
},
{
name: "پارسا موسوی",
role: "توسعه‌دهنده",
avatar:
"/block-media/shadcnblocks/block/avatar-6.webp",
content:
"کیفیت کد و عملکرد در سطح بالایی است. پلتفرم مقیاس ما را بدون مشکل پوشش می‌دهد و ابزارهای توسعه، دیباگ و بهینه‌سازی را آسان کرده‌اند. برای تیم توسعه ما تحول‌آفرین بوده. مستندات جامع و پشتیبانی فعال جامعه، راه‌اندازی اولیه توسعه‌دهندگان جدید را بسیار روان کرده است.",
},
{
name: "فاطمه رستمی",
role: "مدیر بازاریابی",
avatar:
"/block-media/shadcnblocks/block/avatar-3.webp",
content:
"اتوماسیون بازاریابی تحول‌آفرین بود. نرخ تعامل ما ۶۰٪ افزایش یافت و بازگشت سرمایه به‌طور محسوسی بهتر شد. بینش‌های پلتفرم درک ما از مخاطب را عمیق‌تر کرده است.",
},
];
interface Testimonial8Props {
testimonials?: Array<{
name: string;
role: string;
avatar: string;
content: string;
}>;
className?: string;
}
const Testimonial8 = ({
testimonials = defaultTestimonials,
className,
}: Testimonial8Props) => {
return (
<section dir="rtl" lang="fa" className={cn("py-32", className)}>
<div className="container">
<div className="flex flex-col items-center gap-4">
<h2 className="text-center text-3xl font-semibold lg:text-2xll">
مشتریان ما چه می‌گویند
</h2>
<p className="text-muted-foreground lg:text-xl">
ببینید مشتریان ما چگونه با محصولات ما کسب‌وکارشان را می‌سازند
</p>
</div>
<div className="relative mt-14 w-full after:absolute after:inset-x-0 after:-bottom-2 after:h-96 after:bg-linear-to-t after:from-background">
<div
className="columns-1 gap-5 md:columns-2 lg:columns-3"
style={{ columnGap: "20px" }}
>
{testimonials.map((testimonial, idx) => {
// Reorder for masonry flow: distribute across columns first
const displayIdx = (idx % 3) * 3 + Math.floor(idx / 3);
return (
<div
key={idx}
className={cn(
"mb-5",
displayIdx > 3 && displayIdx <= 5 && "hidden md:block",
displayIdx > 5 && "hidden lg:block",
)}
>
<Card className="break-inside-avoid p-5">
<div className="flex gap-4 leading-5">
<Avatar className="size-10 rounded-full ring-1 ring-input">
<AvatarImage
src={testimonial.avatar}
alt={testimonial.name}
/>
</Avatar>
<div className="mb-2 text-sm">
<p className="font-semibold text-foreground">
{testimonial.name}
</p>
<p className="text-muted-foreground">
{testimonial.role}
</p>
</div>
</div>
<div className="leading-7 text-foreground/60">
<q>{testimonial.content}</q>
</div>
</Card>
</div>
);
})}
</div>
</div>
</div>
</section>
);
};
export { Testimonial8 };