import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { getSession } from "@/lib/session"; import { VerifyEmailView } from "../_components/verify-email-view"; export const metadata: Metadata = { title: "Verify your email", description: "Confirm your email address to activate your PolyLLM account.", robots: { index: false, follow: false }, }; /** * Landing page for verification links (`callbackURL=/verify-email`) and for unverified users * redirected by `requireUser()`. A successful verification auto-signs the user in, so a verified * session here means we can continue straight into the app. */ export default async function VerifyEmailPage({ searchParams }: { searchParams: Promise> }) { const params = await searchParams; const error = Array.isArray(params.error) ? params.error[0] : params.error; const session = await getSession(); if (session?.user.emailVerified && !error) redirect("/app/chat"); const fromQuery = Array.isArray(params.email) ? params.email[0] : params.email; const email = session?.user.email ?? (typeof fromQuery === "string" ? fromQuery.slice(0, 254) : ""); return 0 ? error : null} />; }