page.tsx33 lines · main
1import Image from 'next/image';
2
3import { AdminLoginForm } from './login-form';
4
5export const metadata = {
6 title: 'admin sign in',
7 robots: { index: false, follow: false },
8};
9
10/**
11 * Bare cockpit login. Lives in the (admin-auth) route group, which is a
12 * SEPARATE layout tree from (admin) — so the cockpit's auth gate does not
13 * wrap this page, and an unauthenticated visitor reaching /admin/login is
14 * never redirected (no loop).
15 */
16export default function AdminLoginPage() {
17 return (
18 <main className="flex min-h-dvh items-center justify-center bg-[var(--color-bg)] px-6 text-[var(--color-text)]">
19 <div className="w-full max-w-xs">
20 <div className="mb-10 flex items-center gap-3" aria-label="briven admin">
21 <Image src="/icon.svg" alt="" width={28} height={28} priority />
22 <span className="font-mono text-sm">briven admin</span>
23 </div>
24
25 <h1 className="font-mono text-2xl tracking-tight">sign in</h1>
26
27 <div className="mt-8">
28 <AdminLoginForm />
29 </div>
30 </div>
31 </main>
32 );
33}