177 lines
6.3 KiB
TypeScript
177 lines
6.3 KiB
TypeScript
import { Handshake } from "lucide-react";
|
|
import React from "react";
|
|
|
|
import { Badge } from "@/components/ui/badge";
|
|
import { Card } from "@/components/ui/card";
|
|
import { cn } from "@/lib/utils";
|
|
|
|
const testimonials = [
|
|
{
|
|
logo: {
|
|
src: "/block-media/shadcnblocks/block/logos/astro-wordmark.svg",
|
|
alt: "لوگوی Astro",
|
|
width: 96.75,
|
|
height: 36,
|
|
},
|
|
quote:
|
|
"تیم ما در Zerostatic به خودکارسازی بسیار وابسته است و این اپ آن را به سطح دیگری برده. انگار یک دستیار مجازی درون گردش کارم تعبیه شده.",
|
|
author: {
|
|
name: "امیرحسین قاسمی",
|
|
role: "طراح محصول، Zerostatic",
|
|
image:
|
|
"/block-media/shadcnblocks/block/avatar-8.webp",
|
|
},
|
|
},
|
|
{
|
|
logo: {
|
|
src: "/block-media/shadcnblocks/block/logos/figma-wordmark.svg",
|
|
alt: "لوگوی طراحی رابط",
|
|
width: 90.75,
|
|
height: 36,
|
|
},
|
|
quote:
|
|
"بهویژه یکپارچهسازی بینقص تقویم و قابلیتهای پیشرفته مدیریت وظایف را دوست دارم که همه را همراستا و منظم نگه میدارد.",
|
|
author: {
|
|
name: "نیلوفر حسینی",
|
|
role: "مدیر محصول، یادداشتبرداری",
|
|
image:
|
|
"/block-media/shadcnblocks/block/avatar-3.webp",
|
|
},
|
|
},
|
|
{
|
|
logo: {
|
|
src: "/block-media/shadcnblocks/block/logos/sketch-wordmark.svg",
|
|
alt: "لوگوی طراحی برداری",
|
|
width: 100.75,
|
|
height: 36,
|
|
},
|
|
quote:
|
|
"به اپ بهرهوری نیاز داشتیم که با نیازهای در حال تغییر تیم ما رشد کند؛ این انتخاب عالی بود. ابزارهای خودکارسازی ساعتها از ما وقت گرفت.",
|
|
author: {
|
|
name: "امیر محمدی",
|
|
role: "مدیر عملیات، پیامرسان تیمی",
|
|
image:
|
|
"/block-media/shadcnblocks/block/avatar-2.webp",
|
|
},
|
|
},
|
|
{
|
|
logo: {
|
|
src: "/block-media/shadcnblocks/block/logos/tailwind-wordmark.svg",
|
|
alt: "لوگوی استایلدهی مدرن",
|
|
width: 110.75,
|
|
height: 36,
|
|
},
|
|
quote:
|
|
"این پلتفرم برای مدیریت پروژه در تیمهای توزیعشده بینهایت ارزشمند بود. یکپارچهسازی با ابزارهای موجود، راهاندازی را آسان کرد.",
|
|
author: {
|
|
name: "علی رحمانی",
|
|
role: "مدیر مهندسی، مخزن کد",
|
|
image:
|
|
"/block-media/shadcnblocks/block/avatar-4.webp",
|
|
},
|
|
},
|
|
{
|
|
logo: {
|
|
src: "/block-media/shadcnblocks/block/logos/vercel-wordmark.svg",
|
|
alt: "لوگوی میزبانی ابری",
|
|
width: 96.75,
|
|
height: 36,
|
|
},
|
|
quote:
|
|
"بهعنوان طراح، سادگی بصری و جذابیت این اپ را قدردانی میکنم. مدیریت وظایف را ساده میکند بدون اینکه از قابلیتهای قدرتمند بگذرد.",
|
|
author: {
|
|
name: "رؤیا کاظمی",
|
|
role: "سرپرست طراحی، طراحی رابط",
|
|
image:
|
|
"/block-media/shadcnblocks/block/avatar-7.webp",
|
|
},
|
|
},
|
|
{
|
|
logo: {
|
|
src: "/block-media/shadcnblocks/block/logos/supabase-wordmark.svg",
|
|
alt: "لوگوی پایگاه داده ابری",
|
|
width: 96.75,
|
|
height: 36,
|
|
},
|
|
quote:
|
|
"یادآورهای هوشمند و زمانبندی خودکار تیم را متمرکز و منظم نگه میدارد. قابلیتهای همکاری هم برای ما بسیار مفید بوده.",
|
|
author: {
|
|
name: "پارسا موسوی",
|
|
role: "استراتژیست محتوا، Loom",
|
|
image:
|
|
"/block-media/shadcnblocks/block/avatar-6.webp",
|
|
},
|
|
},
|
|
];
|
|
|
|
interface Testimonial21Props {
|
|
className?: string;
|
|
}
|
|
|
|
const Testimonial21 = ({ className }: Testimonial21Props) => {
|
|
return (
|
|
<section dir="rtl" lang="fa" className={cn("py-32", className)}>
|
|
<div className="border-y">
|
|
<div className="container flex flex-col gap-6 border-x py-4 max-lg:border-x lg:py-8">
|
|
<Badge
|
|
variant="outline"
|
|
className="w-fit gap-1 bg-card px-3 text-sm font-normal tracking-tight shadow-sm"
|
|
>
|
|
<Handshake className="size-4" />
|
|
<span>خیلی دوستش داریم</span>
|
|
</Badge>
|
|
<h2 className="text-3xl leading-tight tracking-tight md:text-xl lg:text-2xll">
|
|
کارشناسان صنعت چه میگویند
|
|
</h2>
|
|
<p className="max-w-[600px] tracking-[-0.32px] text-muted-foreground">
|
|
مورد اعتماد متخصصان شرکتهای پیشرو فناوری
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div className="container mt-10 grid gap-8 sm:grid-cols-2 md:mt-14 lg:grid-cols-3">
|
|
{testimonials.map((testimonial, index) => (
|
|
<Card
|
|
key={index}
|
|
className="flex flex-col gap-6 rounded-md bg-background p-6 shadow-sm"
|
|
>
|
|
<img
|
|
src={testimonial.logo.src}
|
|
alt={testimonial.logo.alt}
|
|
width={testimonial.logo.width}
|
|
height={testimonial.logo.height}
|
|
className="object-contain dark:invert"
|
|
/>
|
|
|
|
<blockquote className="text-muted-foreground-subtle text-lg font-normal italic">{`«${testimonial.quote}»`}</blockquote>
|
|
|
|
<div className="mt-auto flex items-center gap-4">
|
|
<img
|
|
src={testimonial.author.image}
|
|
alt={`تصویر ${testimonial.author.name}`}
|
|
width={48}
|
|
height={48}
|
|
className="rounded-full object-cover"
|
|
/>
|
|
<div>
|
|
<p className="text-lg tracking-[-0.36px]">
|
|
{testimonial.author.name}
|
|
</p>
|
|
<p className="text-muted-foreground">
|
|
{testimonial.author.role}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</Card>
|
|
))}
|
|
</div>
|
|
|
|
<div className="mt-12 h-8 w-full border-y md:h-12 lg:h-[112px]">
|
|
<div className="container h-full w-full border-x"></div>
|
|
</div>
|
|
</section>
|
|
);
|
|
};
|
|
|
|
export { Testimonial21 };
|