Files
reui-blocks/blocks/signup10.tsx
T

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 };