COURTRIX / src /components /auth /auth-shell.tsx
Ali-Developments's picture
Upload 125 files
ad79323 verified
Raw
History Blame Contribute Delete
3.22 kB
import type { ReactNode } from "react";
import Link from "next/link";
import { JusticeScale01Icon } from "@hugeicons/core-free-icons";
import { AppLogo } from "@/components/shared/app-logo";
import { Icon } from "@/components/shared/icon";
import { Card, CardContent } from "@/components/ui/card";
type AuthShellProps = {
eyebrow: string;
title: string;
description: string;
alternateHref: string;
alternateLabel: string;
alternateAction: string;
children: ReactNode;
};
export function AuthShell({
eyebrow,
title,
description,
alternateHref,
alternateLabel,
alternateAction,
children,
}: AuthShellProps) {
return (
<main className="flex min-h-screen items-center justify-center px-4 py-10 sm:px-6">
<div className="grid w-full max-w-6xl gap-6 lg:grid-cols-[0.95fr_1.05fr]">
<Card className="overflow-hidden border-transparent bg-[linear-gradient(160deg,rgba(125,74,39,0.97),rgba(15,118,110,0.93))] text-white">
<CardContent className="flex h-full flex-col justify-between gap-10 p-8 sm:p-10">
<div className="space-y-8">
<AppLogo className="[&_p]:text-white/70 [&_h1]:text-white" />
<div className="space-y-4">
<span className="inline-flex rounded-full border border-white/15 bg-white/10 px-4 py-2 text-sm font-semibold text-white/90">
{eyebrow}
</span>
<h1 className="text-4xl font-bold leading-[1.35]">{title}</h1>
<p className="max-w-xl text-base leading-8 text-white/78 sm:text-lg">
{description}
</p>
</div>
</div>
<div className="rounded-[28px] border border-white/15 bg-white/10 p-5 backdrop-blur">
<div className="flex items-start gap-4">
<div className="flex h-12 w-12 items-center justify-center rounded-2xl bg-white/12">
<Icon icon={JusticeScale01Icon} size={24} className="text-white" />
</div>
<div className="space-y-2">
<h2 className="text-lg font-semibold">بداية مرتبة وواضحة</h2>
<p className="text-sm leading-7 text-white/72">
الواجهة دي معمولة للمحامين والفرق الصغيرة اللي محتاجة تدخل
بسرعة وتبدأ شغلها من غير تعقيد.
</p>
</div>
</div>
</div>
</CardContent>
</Card>
<Card className="bg-[color:rgba(255,250,244,0.92)]">
<CardContent className="p-6 sm:p-8 lg:p-10">
<div className="space-y-8">
{children}
<p className="text-center text-sm text-[var(--foreground-muted)]">
{alternateLabel}{" "}
<Link
href={alternateHref}
className="font-semibold text-[var(--primary)] hover:text-[var(--primary-strong)]"
>
{alternateAction}
</Link>
</p>
</div>
</CardContent>
</Card>
</div>
</main>
);
}