import type { Metadata } from "next"; import Link from "next/link"; import { getLocale, getTranslations } from "next-intl/server"; import { TrialConfirmForm } from "@/components/trial/confirm-form"; import { formatDateKey } from "@/lib/trial/dates"; import { peekTrialSignup } from "@/server/services/trial/signup"; export async function generateMetadata(): Promise { const t = await getTranslations("trial.meta"); return { title: t("confirmTitle") }; } export const dynamic = "force-dynamic"; /** * L15 Testphase: landing page of the confirmation link. Shows the pending signup (link is only * checked, not consumed); provisioning happens on the POST of the button (TrialConfirmForm). */ export default async function TrialConfirmPage({ searchParams }: { searchParams: Promise<{ token?: string }> }) { const { token = "" } = await searchParams; const [t, locale] = await Promise.all([getTranslations("trial.confirm"), getLocale()]); const signup = await peekTrialSignup(token); return (

{t("title")}

{signup ? ( <>

{t("intro")}

{t("company")}
{signup.companyName}
{t("until")}
{formatDateKey(signup.trialEndDate, locale)}
{t("sampleData")}
{signup.sampleData ? t("yes") : t("no")}
) : ( <>

{t("invalid")}

{t("toSignup")} {t("toLogin")}
)}
); }