import { config } from "@repo/config"; import { SignupForm } from "@saas/auth/components/SignupForm"; import { getInvitation } from "@saas/auth/lib/server"; import { getTranslations } from "next-intl/server"; import { redirect } from "next/navigation"; import { withQuery } from "ufo"; export const dynamic = "force-dynamic"; export const revalidate = 0; export async function generateMetadata() { const t = await getTranslations(); return { title: t("auth.signup.title"), }; } export default async function SignupPage({ searchParams, }: { searchParams: Promise<{ [key: string]: string | string[] | undefined; invitationId?: string; }>; }) { const params = await searchParams; const { invitationId } = params; if (!(config.auth.enableSignup || invitationId)) { return redirect(withQuery("/auth/login", params)); } if (invitationId) { const invitation = await getInvitation(invitationId); if ( !invitation || invitation.status !== "pending" || invitation.expiresAt.getTime() < new Date().getTime() ) { return redirect(withQuery("/auth/login", params)); } return ; } return ; }