142 lines
4.4 KiB
TypeScript
142 lines
4.4 KiB
TypeScript
"use client";
|
|
|
|
import React from "react";
|
|
|
|
import { Button } from "@/components/ui/button";
|
|
import { Input } from "@/components/ui/input";
|
|
import { Separator } from "@/components/ui/separator";
|
|
import { cn } from "@/lib/utils";
|
|
|
|
interface Signup10Props {
|
|
className?: string;
|
|
heading?: string;
|
|
googleText?: string;
|
|
googleIconAlt?: string;
|
|
dividerText?: string;
|
|
emailPlaceholder?: string;
|
|
continueButtonText?: string;
|
|
termsIntroText?: string;
|
|
termsLinkText?: string;
|
|
termsUrl?: string;
|
|
termsConnectorText?: string;
|
|
privacyLinkText?: string;
|
|
privacyUrl?: string;
|
|
loginPromptText?: string;
|
|
loginUrl?: string;
|
|
loginLinkText?: string;
|
|
logoAlt?: string;
|
|
sideImageAlt?: string;
|
|
sideImageSrc?: string;
|
|
}
|
|
|
|
const Signup10 = ({
|
|
className,
|
|
heading = "فضای کاری رایگان بسازید",
|
|
googleText = "ادامه با گوگل",
|
|
googleIconAlt = "گوگل",
|
|
dividerText = "یا",
|
|
emailPlaceholder = "ایمیل",
|
|
continueButtonText = "ادامه",
|
|
termsIntroText = "با ادامه، با",
|
|
termsLinkText = "شرایط خدمات",
|
|
termsUrl = "#",
|
|
termsConnectorText = "و",
|
|
privacyLinkText = "سیاست حریم خصوصی",
|
|
privacyUrl = "#",
|
|
loginPromptText = "قبلاً ثبتنام کردهاید؟",
|
|
loginUrl = "#",
|
|
loginLinkText = "ورود به حساب",
|
|
logoAlt = "لوگو",
|
|
sideImageAlt = "پیشنمایش محصول",
|
|
sideImageSrc = "/block-media/shadcnblocks/block/placeholder-dark-7-tall.svg",
|
|
}: Signup10Props) => {
|
|
return (
|
|
<section
|
|
dir="rtl"
|
|
lang="fa"
|
|
className={cn("bg-background", className)}
|
|
>
|
|
<div className="container flex min-h-screen flex-col items-center justify-between gap-20 py-16 lg:flex-row lg:px-0 lg:py-0">
|
|
<div className="mx-auto flex w-full max-w-xl flex-col items-center gap-6">
|
|
<div className="flex h-14 w-14 items-center justify-center">
|
|
<img
|
|
className="h-14 w-12"
|
|
alt={logoAlt}
|
|
src="/block-media/shadcnblocks/block/block-1.svg"
|
|
/>
|
|
</div>
|
|
|
|
<h1 className="mb-8 w-full text-center text-3xl font-medium tracking-tighter text-foreground md:text-xl">
|
|
{heading}
|
|
</h1>
|
|
|
|
<Button
|
|
type="button"
|
|
variant="outline"
|
|
className="flex h-14 w-full max-w-lg items-center justify-center gap-8 rounded-full border-muted-foreground/30"
|
|
>
|
|
<img
|
|
className="h-5 w-5"
|
|
alt={googleIconAlt}
|
|
src="/block-media/shadcnblocks/block/logos/google-icon.svg"
|
|
/>
|
|
<span className="font-medium">{googleText}</span>
|
|
</Button>
|
|
|
|
<div className="flex w-full max-w-lg items-center gap-6">
|
|
<Separator className="flex-1" />
|
|
<span className="font-medium tracking-tight">{dividerText}</span>
|
|
<Separator className="flex-1" />
|
|
</div>
|
|
|
|
<div className="w-full max-w-lg">
|
|
<Input
|
|
type="email"
|
|
className="h-14 rounded-full border-none bg-muted px-5 py-4 font-medium"
|
|
placeholder={emailPlaceholder}
|
|
required
|
|
/>
|
|
</div>
|
|
|
|
<Button
|
|
type="submit"
|
|
className="h-14 w-full max-w-lg rounded-full bg-foreground text-background hover:bg-foreground/90"
|
|
>
|
|
<span className="font-medium tracking-tight">
|
|
{continueButtonText}
|
|
</span>
|
|
</Button>
|
|
|
|
<p className="mb-8 w-full text-center text-sm tracking-tight text-foreground/40">
|
|
{termsIntroText}{" "}
|
|
<a href={termsUrl} className="underline">
|
|
{termsLinkText}
|
|
</a>{" "}
|
|
{termsConnectorText}{" "}
|
|
<a href={privacyUrl} className="underline">
|
|
{privacyLinkText}
|
|
</a>
|
|
.
|
|
</p>
|
|
|
|
<p className="mb-20 w-full text-center text-sm font-medium tracking-tight text-muted-foreground lg:mb-8">
|
|
{loginPromptText}{" "}
|
|
<a href={loginUrl} className="underline">
|
|
{loginLinkText}
|
|
</a>
|
|
</p>
|
|
</div>
|
|
<div className="hidden h-screen w-full bg-muted lg:block">
|
|
<img
|
|
src={sideImageSrc}
|
|
className="size-full object-cover"
|
|
alt={sideImageAlt}
|
|
/>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
);
|
|
};
|
|
|
|
export { Signup10 };
|