Add LynkedUp roofing portal: full login + registration auth UI
- Split-screen dark/orange auth shell with animated scan showcase - Login state machine: social/email, passkey, password, OTP (email/SMS/WhatsApp), TOTP, push, try-another-way, forgot-password, terms gate, success - 4-step registration wizard: Account, Property, Verify, Address - US-default phone + address with /api/geo lookup (PIN auto-fill / search) - Roofing-themed content, Inter font, logo from public/image Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+3
-21
@@ -1,24 +1,6 @@
|
||||
import Link from "next/link";
|
||||
import { siteConfig } from "@/config/site";
|
||||
import { redirect } from "next/navigation";
|
||||
|
||||
// Login is the default first page — send visitors straight to the portal.
|
||||
export default function Home() {
|
||||
return (
|
||||
<main className="flex-1 flex flex-col items-center justify-center text-center px-6 py-24">
|
||||
<span className="text-sm font-medium text-neutral-500">
|
||||
{siteConfig.shortName}
|
||||
</span>
|
||||
<h1 className="mt-3 text-4xl sm:text-5xl font-bold tracking-tight">
|
||||
{siteConfig.name}
|
||||
</h1>
|
||||
<p className="mt-4 max-w-xl text-neutral-500">
|
||||
{siteConfig.description}
|
||||
</p>
|
||||
<Link
|
||||
href="/dashboard"
|
||||
className="mt-8 inline-flex items-center rounded-full bg-neutral-900 text-white dark:bg-white dark:text-neutral-900 px-6 py-3 text-sm font-medium hover:opacity-90 transition-opacity"
|
||||
>
|
||||
Go to Dashboard →
|
||||
</Link>
|
||||
</main>
|
||||
);
|
||||
redirect("/portal/login");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user