import Link from 'next/link'; import { redirect } from 'next/navigation'; import { SignUpMethodsContainer } from '@kit/auth/sign-up'; import { getServerAuthConfig, pathsConfig } from '@kit/shared/config'; import { Button } from '@kit/ui/button'; import { Heading } from '@kit/ui/heading'; import { Trans } from '@kit/ui/trans'; import { createI18nServerInstance } from '~/lib/i18n/i18n.server'; import { withI18n } from '~/lib/i18n/with-i18n'; export const generateMetadata = async () => { const i18n = await createI18nServerInstance(); return { title: i18n.t('auth:signUp'), }; }; interface Props { searchParams: Promise<{ invite_token?: string; }>; } const paths = { callback: pathsConfig.auth.callback, appHome: pathsConfig.app.home, updateAccount: pathsConfig.auth.updateAccount, }; async function SignUpPage({ searchParams }: Props) { const inviteToken = (await searchParams).invite_token; const signInPath = pathsConfig.auth.signIn + (inviteToken ? `?invite_token=${inviteToken}` : ''); const authConfig = await getServerAuthConfig(); if (!authConfig.providers.password) { return redirect('/'); } return ( <>