{formStatus.message}
+{t('description')}
+ + + > + ); +}; diff --git a/apps/core/app/[locale]/(default)/login/page.tsx b/apps/core/app/[locale]/(default)/login/page.tsx index 977a33203..389678795 100644 --- a/apps/core/app/[locale]/(default)/login/page.tsx +++ b/apps/core/app/[locale]/(default)/login/page.tsx @@ -1,10 +1,13 @@ import { Button } from '@bigcommerce/components/button'; -import { NextIntlClientProvider, useMessages, useTranslations } from 'next-intl'; +import { NextIntlClientProvider } from 'next-intl'; +import { getMessages, getTranslations } from 'next-intl/server'; +import { getReCaptchaSettings } from '~/client/queries/get-recaptcha-settings'; import { Link } from '~/components/link'; import { LocaleType } from '~/i18n'; import { LoginForm } from './_components/login-form'; +import { ResetPasswordForm } from './_components/reset-password-form'; export const metadata = { title: 'Login', @@ -14,17 +17,38 @@ interface Props { params: { locale: LocaleType; }; + searchParams: { + [key: string]: string | string[] | undefined; + action?: 'create_account' | 'reset_password' | 'change_password'; + c?: string; + t?: string; + }; } -export default function Login({ params: { locale } }: Props) { - const messages = useMessages(); - const t = useTranslations('Account.Login'); +export default async function Login({ params: { locale }, searchParams }: Props) { + const messages = await getMessages({ locale }); + const Account = messages.Account ?? {}; + const t = await getTranslations({ locale, namespace: 'Account.Login' }); + const action = searchParams.action; + + if (action === 'reset_password') { + const reCaptchaSettings = await getReCaptchaSettings(); + + return ( +