diff --git a/packages/experience/src/components/IdentifierRegisterForm/index.test.tsx b/packages/experience/src/components/IdentifierRegisterForm/index.test.tsx index e7543f5b273..57ae0b43a35 100644 --- a/packages/experience/src/components/IdentifierRegisterForm/index.test.tsx +++ b/packages/experience/src/components/IdentifierRegisterForm/index.test.tsx @@ -394,11 +394,13 @@ describe('', () => { mockSsoConnectors ); const emailInput = container.querySelector('input[name="id"]'); + const termsButton = getByText('description.agree_with_terms'); assert(emailInput, new Error('username input not found')); act(() => { fireEvent.change(emailInput, { target: { value: email } }); + fireEvent.click(termsButton); }); await waitFor(() => { diff --git a/packages/experience/src/components/IdentifierRegisterForm/index.tsx b/packages/experience/src/components/IdentifierRegisterForm/index.tsx index e0df93ff1bf..383a037e418 100644 --- a/packages/experience/src/components/IdentifierRegisterForm/index.tsx +++ b/packages/experience/src/components/IdentifierRegisterForm/index.tsx @@ -71,12 +71,16 @@ const IdentifierRegisterForm = ({ className, autoFocus, signUpMethods }: Props) setIdentifierInputValue({ type, value }); - if (showSingleSignOnForm) { - await navigateToSingleSignOn(); + if ( + agreeToTermsPolicy && + agreeToTermsPolicy !== AgreeToTermsPolicy.Automatic && + !(await termsValidation()) + ) { return; } - if (!(await termsValidation())) { + if (showSingleSignOnForm) { + await navigateToSingleSignOn(); return; } @@ -84,6 +88,7 @@ const IdentifierRegisterForm = ({ className, autoFocus, signUpMethods }: Props) })(event); }, [ + agreeToTermsPolicy, clearErrorMessage, handleSubmit, navigateToSingleSignOn, diff --git a/packages/experience/src/pages/IdentifierRegister/index.tsx b/packages/experience/src/pages/IdentifierRegister/index.tsx index 41c2be9d043..09477f1cbce 100644 --- a/packages/experience/src/pages/IdentifierRegister/index.tsx +++ b/packages/experience/src/pages/IdentifierRegister/index.tsx @@ -3,6 +3,7 @@ import { useTranslation } from 'react-i18next'; import { Navigate } from 'react-router-dom'; import FocusedAuthPageLayout from '@/Layout/FocusedAuthPageLayout'; +import SingleSignOnFormModeContextProvider from '@/Providers/SingleSignOnFormModeContextProvider'; import IdentifierRegisterForm from '@/components/IdentifierRegisterForm'; import { useSieMethods } from '@/hooks/use-sie'; import { identifierInputDescriptionMap } from '@/utils/form'; @@ -36,7 +37,9 @@ const IdentifierRegister = () => { text: 'description.all_account_creation_options', }} > - + + + ); }; diff --git a/packages/experience/src/pages/IdentifierSignIn/index.tsx b/packages/experience/src/pages/IdentifierSignIn/index.tsx index d9e8bc352d8..f81a8ed918a 100644 --- a/packages/experience/src/pages/IdentifierSignIn/index.tsx +++ b/packages/experience/src/pages/IdentifierSignIn/index.tsx @@ -4,6 +4,7 @@ import { useTranslation } from 'react-i18next'; import { Navigate } from 'react-router-dom'; import FocusedAuthPageLayout from '@/Layout/FocusedAuthPageLayout'; +import SingleSignOnFormModeContextProvider from '@/Providers/SingleSignOnFormModeContextProvider'; import IdentifierSignInForm from '@/components/IdentifierSignInForm'; import PasswordSignInForm from '@/components/PasswordSignInForm'; import { identifierInputDescriptionMap } from '@/utils/form'; @@ -43,11 +44,13 @@ const IdentifierSignIn = () => { text: 'description.all_sign_in_options', }} > - {isPasswordOnly ? ( - identifier)} /> - ) : ( - - )} + + {isPasswordOnly ? ( + identifier)} /> + ) : ( + + )} + ); };