first
This commit is contained in:
commit
8538ab969a
434 changed files with 44051 additions and 0 deletions
48
apps/web/app/(saas)/auth/signup/page.tsx
Normal file
48
apps/web/app/(saas)/auth/signup/page.tsx
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
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 <SignupForm prefillEmail={invitation.email} />;
|
||||
}
|
||||
|
||||
return <SignupForm />;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue