diff --git a/src/app/(site)/layout.tsx b/src/app/(site)/layout.tsx
index 6eee060e..4bef187a 100644
--- a/src/app/(site)/layout.tsx
+++ b/src/app/(site)/layout.tsx
@@ -4,24 +4,35 @@ import RadioPlayerGate from "@/components/public/radio-player-gate";
import { SiteFooter } from "@/components/site-footer";
import { SiteHeader } from "@/components/site-header";
import { TopHeader } from "@/components/top-header";
+import { auth } from "@/lib/auth";
/**
* Public site chrome. Route group `(site)` keeps this off `/admin` and `/client`,
* so housekeeping is never constrained by the public max-w-7xl grid.
+ *
+ * When the user is not authenticated, the header/nav chrome is hidden so that
+ * the login page acts as a full-screen landing page (magic-hotel style).
*/
-export default function SiteLayout({ children }: { children: ReactNode }) {
+export default async function SiteLayout({ children }: { children: ReactNode }) {
+ const session = await auth();
+ const authenticated = !!session?.user;
+
return (
<>
-
-
-
+ {authenticated && (
+ <>
+
+
+
+ >
+ )}
-
-
{children}
+
+
{children}
-
-
+ {authenticated && }
+ {authenticated && }
>
);
}
diff --git a/src/components/auth/home-login-form.tsx b/src/components/auth/home-login-form.tsx
index 6aa2c405..818e4514 100644
--- a/src/components/auth/home-login-form.tsx
+++ b/src/components/auth/home-login-form.tsx
@@ -1,6 +1,6 @@
"use client";
-import { LogIn, UserPlus } from "lucide-react";
+import { LogIn, UserPlus, ArrowRight, User, Lock } from "lucide-react";
import Link from "next/link";
import { signIn } from "next-auth/react";
import { type FormEvent, useState } from "react";
@@ -49,100 +49,94 @@ export function HomeLoginForm() {
}
return (
-