Files

127 lines
4.7 KiB
TypeScript

import React from "react";
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { cn } from "@/lib/utils";
interface Waitlist3Props {
companyLogo?: string;
badge?: string;
heading?: string;
description?: string;
joinedPeople?: number;
avatars?: string[];
companyName?: string;
companyUrl?: string;
image?: string;
className?: string;
}
const Waitlist3 = ({
companyLogo = "/block-media/shadcnblocks/block/logos/company/fictional-company-logo-4.svg",
badge = "به‌زودی سه‌ماهه اول ۱۴۰۵",
heading = "نسل بعدی ابزارهای توسعه را می‌سازید؟",
description = "با ثبت ایمیل در برنامه دسترسی زودهنگام، به ابزارهای توسعه پیشرفته دسترسی پیدا کنید و زودتر از همه آینده برنامه‌نویسی را تجربه کنید.",
joinedPeople = 165,
avatars = [
"/block-media/shadcnblocks/block/portraits/alexander-hipp-iEEBWgY_6lA-unsplash.jpg",
"/block-media/shadcnblocks/block/portraits/michael-dam-mEZ3PoFGs_k-unsplash.jpg",
"/block-media/shadcnblocks/block/portraits/nima-motaghian-nejad-_omdf_EgRUo-unsplash.jpg",
],
companyName = "Ramp",
companyUrl = "https://ShadcnBlocks",
image = "/block-media/shadcnblocks/block/photos/ivan-bandura-hqnUYXsN5oY-unsplash.jpg",
className,
}: Waitlist3Props) => {
return (
<section dir="rtl" lang="fa" className={cn("py-32 lg:h-screen", className)}>
<div className="container h-full">
<div className="grid h-full grid-cols-1 gap-20 lg:grid-cols-2 lg:gap-0">
<div className="col-span-1 flex h-full flex-col items-start justify-between gap-20">
<img
src={companyLogo}
alt="لوگوی شرکت"
className="w-32 dark:invert"
/>
<div className="flex max-w-sm flex-col gap-4 sm:max-w-full lg:max-w-md">
<Badge variant="outline">{badge}</Badge>
<h3 className="text-start text-3xl font-semibold lg:text-xl">
{heading}
</h3>
<p className="max-w-md text-start text-muted-foreground">
{description}
</p>
<div className="mt-2 flex flex-col gap-4">
<form className="flex gap-2">
<Input
type="email"
required
placeholder="ایمیل خود را وارد کنید"
/>
<Button type="submit" className="shrink-0">
پیوستن به لیست انتظار
</Button>
</form>
<div className="flex items-center">
<div className="relative flex items-center">
{avatars.map((avatar, index) => {
return (
<img
key={`waitlist-avatar-${index}`}
src={avatar}
alt={`عضو ${(index + 1).toLocaleString("fa-IR")}`}
style={{
transform: `translateX(-${index * 10}px)`,
}}
className="size-8 rounded-full border bg-muted object-cover object-top p-px"
/>
);
})}
<p
style={{
transform: `translateX(-${(avatars.length - 2) * 10}px)`,
}}
className="text-xs text-muted-foreground"
>
بیش از {joinedPeople.toLocaleString("fa-IR")} نفر قبلاً
پیوسته‌اند
</p>
</div>
</div>
</div>
</div>
<p className="text-start text-xs text-muted-foreground">
© {new Date().getFullYear().toLocaleString("fa-IR")} {" "}
<a
href={companyUrl}
target="_blank"
rel="noopener noreferrer"
className="text-primary underline"
>
{companyName}
</a>{" "}
تمامی حقوق محفوظ است.
</p>
</div>
<div className="col-span-1 flex h-full flex-col items-start justify-between overflow-hidden">
<img
src={image}
alt="تصویر لیست انتظار"
className="h-full max-h-96 w-full object-cover lg:max-h-full"
/>
</div>
</div>
</div>
</section>
);
};
export { Waitlist3 };