Files
reui-blocks/blocks/download1.tsx
T

166 lines
5.5 KiB
TypeScript

import { Download, Monitor, Smartphone, Tablet } from "lucide-react";
import { Button } from "@/components/ui/button";
import { Card } from "@/components/ui/card";
import { cn } from "@/lib/utils";
interface Download1Props {
heading?: string;
description?: string;
platforms?: {
desktop?: {
title: string;
subtitle: string;
description: string;
buttonText: string;
url: string;
};
ios?: {
title: string;
subtitle: string;
description: string;
url: string;
};
android?: {
title: string;
subtitle: string;
description: string;
url: string;
};
};
className?: string;
}
const Download1 = ({
heading = "اپلیکیشن ما را دانلود کنید",
description =
"اپلیکیشن را روی هر پلتفرمی نصب کنید و با قابلیت‌های همگام و همکاری زنده، گردش کار خود را سریع‌تر کنید.",
platforms = {
desktop: {
title: "دسکتاپ",
subtitle: "PC/Mac",
description:
"با نسخه کامل دسکتاپ، از تمام امکانات و قدرت اپلیکیشن بهره ببرید.",
buttonText: "دانلود",
url: "#",
},
ios: {
title: "گوشی همراه",
subtitle: "iOS",
description:
"با اپ موبایل بهینه‌شده برای موبایل اپل، کار خود را همراه ببرید و از تعامل لمسی روان لذت ببرید.",
url: "#",
},
android: {
title: "گوشی همراه / تبلت",
subtitle: "Android",
description:
"روی گوشی و تبلت اندروید، تجربه‌ای یکپارچه و بهینه‌شده برای هر اندازه صفحه داشته باشید.",
url: "#",
},
},
className,
}: Download1Props) => {
return (
<section
dir="rtl"
lang="fa"
className={cn("bg-muted/30 py-32", className)}
>
<div className="container">
<div className="mb-16 text-center">
<h2 className="mb-6 text-xl font-bold tracking-tight sm:text-xl md:text-2xll lg:text-2xll">
{heading}
</h2>
<p className="mx-auto mb-8 max-w-2xl text-lg text-muted-foreground">
{description}
</p>
</div>
<div className="mx-auto grid max-w-5xl gap-6 md:grid-cols-3">
<Card className="flex flex-col border-0 bg-muted p-6 text-foreground">
<div className="mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-foreground/10">
<Monitor className="h-6 w-6" />
</div>
<div className="mb-4 flex-1">
<p className="mb-1 text-sm">{platforms.desktop?.title}</p>
<h3 className="mb-3 text-xl font-bold" dir="rtl">
{platforms.desktop?.subtitle}
</h3>
<p className="text-sm leading-relaxed">
{platforms.desktop?.description}
</p>
</div>
<div>
<Button className="w-auto" size="lg" asChild>
<a
href={platforms.desktop?.url}
className="inline-flex items-center gap-2"
>
{platforms.desktop?.buttonText}
<Download className="h-4 w-4" />
</a>
</Button>
</div>
</Card>
<Card className="flex flex-col border-border bg-background p-6">
<div className="mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-muted">
<Smartphone className="h-6 w-6" />
</div>
<div className="mb-6 flex-1">
<p className="mb-1 text-sm text-muted-foreground">
{platforms.ios?.title}
</p>
<h3 className="mb-3 text-xl font-bold" dir="rtl">
{platforms.ios?.subtitle}
</h3>
<p className="text-sm leading-relaxed text-muted-foreground">
{platforms.ios?.description}
</p>
</div>
<div>
<a href={platforms.ios?.url}>
<img
src="/block-media/shadcnblocks/block/badges/appstore.png"
alt="دانلود از اپ استور"
className="h-10"
/>
</a>
</div>
</Card>
<Card className="flex flex-col border-border bg-background p-6">
<div className="mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-muted">
<Tablet className="h-6 w-6" />
</div>
<div className="mb-6 flex-1">
<p className="mb-1 text-sm text-muted-foreground">
{platforms.android?.title}
</p>
<h3 className="mb-3 text-xl font-bold" dir="rtl">
{platforms.android?.subtitle}
</h3>
<p className="text-sm leading-relaxed text-muted-foreground">
{platforms.android?.description}
</p>
</div>
<div>
<a href={platforms.android?.url}>
<img
src="/block-media/shadcnblocks/block/badges/googleplay.png"
alt="دانلود از گوگل پلی"
className="h-10"
/>
</a>
</div>
</Card>
</div>
</div>
</section>
);
};
export { Download1 };