Files
buzz-sheet/app/admin/login/page.tsx
T
gunshiz e860425e08
CI / Verify (push) Successful in 1m19s
CI / Build immutable images and deploy (push) Successful in 2m47s
feat(auth) : protect admin login with turnstile
2026-09-10 21:39:07 +07:00

26 lines
796 B
TypeScript

import { redirect } from "next/navigation";
import { connection } from "next/server";
import { LoginCard } from "@/components/admin/login-card";
import { SiteHeader } from "@/components/public/site-header";
import { getAdminSession } from "@/lib/auth/server";
export default async function AdminLoginPage() {
await connection();
if (await getAdminSession()) redirect("/admin");
const turnstileSiteKey = process.env.TURNSTILE_SITE_KEY;
if (!turnstileSiteKey) {
throw new Error("TURNSTILE_SITE_KEY is required for administrator login.");
}
return (
<div className="min-h-svh">
<SiteHeader />
<main className="grid min-h-[calc(100svh-4rem)] place-items-center px-4 py-12">
<LoginCard turnstileSiteKey={turnstileSiteKey} />
</main>
</div>
);
}