diff --git a/packages/web-ui-registration/src/LoginForm.tsx b/packages/web-ui-registration/src/LoginForm.tsx index 6a23a12dbde..0d1b63ee168 100644 --- a/packages/web-ui-registration/src/LoginForm.tsx +++ b/packages/web-ui-registration/src/LoginForm.tsx @@ -43,6 +43,7 @@ export const LoginForm = ({ setLoginRoute }: { setLoginRoute: DispatchLoginRoute const [errorOnSubmit, setErrorOnSubmit] = useState(undefined); const isResetPasswordAllowed = useSetting('Accounts_PasswordReset'); const login = useLoginWithPassword(); + const showFormLogin = useSetting('Accounts_ShowFormLogin'); const loginMutation: UseMutationResult< void, @@ -95,104 +96,110 @@ export const LoginForm = ({ setLoginRoute }: { setLoginRoute: DispatchLoginRoute {t('registration.component.login')} - - - - {t('registration.component.form.emailOrUsername')} - - { - clearErrors(['username', 'password']); - }, - })} - placeholder={t('registration.component.form.emailPlaceholder')} - error={ - errors.username?.message || - (errors.username?.type === 'required' ? t('registration.component.form.requiredField') : undefined) - } - aria-invalid={errors.username ? 'true' : 'false'} - id='username' - /> - - {errors.username && errors.username.type === 'required' && ( - {t('registration.component.form.requiredField')} - )} - - - - {t('registration.component.form.password')} - - { - clearErrors(['username', 'password']); - }, - })} - error={ - errors.password?.message || - (errors.password?.type === 'required' ? t('registration.component.form.requiredField') : undefined) - } - aria-invalid={errors.password ? 'true' : 'false'} - id='password' - /> - - {errors.password && errors.password.type === 'required' && ( - {t('registration.component.form.requiredField')} - )} - {isResetPasswordAllowed && ( - - { - e.preventDefault(); - setLoginRoute('reset-password'); - }} - > - Forgot your password? - - - )} - - - - {errorOnSubmit === 'error-user-is-not-activated' && ( - {t('registration.page.registration.waitActivationWarning')} - )} - - {errorOnSubmit === 'error-app-user-is-not-allowed-to-login' && ( - {t('registration.page.login.errors.AppUserNotAllowedToLogin')} - )} - - {errorOnSubmit === 'user-not-found' && {t('registration.page.login.errors.wrongCredentials')}} - - {errorOnSubmit === 'error-login-blocked-for-ip' && ( - {t('registration.page.login.errors.loginBlockedForIp')} - )} - - {errorOnSubmit === 'error-login-blocked-for-user' && ( - {t('registration.page.login.errors.loginBlockedForUser')} - )} - - {errorOnSubmit === 'error-license-user-limit-reached' && ( - {t('registration.page.login.errors.licenseUserLimitReached')} - )} - - - - - - -

- - New here? setLoginRoute('register')}>Create an account - -

-
+ {showFormLogin && ( + <> + + + + {t('registration.component.form.emailOrUsername')} + + { + clearErrors(['username', 'password']); + }, + })} + placeholder={t('registration.component.form.emailPlaceholder')} + error={ + errors.username?.message || + (errors.username?.type === 'required' ? t('registration.component.form.requiredField') : undefined) + } + aria-invalid={errors.username ? 'true' : 'false'} + id='username' + /> + + {errors.username && errors.username.type === 'required' && ( + {t('registration.component.form.requiredField')} + )} + + + + {t('registration.component.form.password')} + + { + clearErrors(['username', 'password']); + }, + })} + error={ + errors.password?.message || + (errors.password?.type === 'required' ? t('registration.component.form.requiredField') : undefined) + } + aria-invalid={errors.password ? 'true' : 'false'} + id='password' + /> + + {errors.password && errors.password.type === 'required' && ( + {t('registration.component.form.requiredField')} + )} + {isResetPasswordAllowed && ( + + { + e.preventDefault(); + setLoginRoute('reset-password'); + }} + > + Forgot your password? + + + )} + + + + {errorOnSubmit === 'error-user-is-not-activated' && ( + {t('registration.page.registration.waitActivationWarning')} + )} + + {errorOnSubmit === 'error-app-user-is-not-allowed-to-login' && ( + {t('registration.page.login.errors.AppUserNotAllowedToLogin')} + )} + + {errorOnSubmit === 'user-not-found' && ( + {t('registration.page.login.errors.wrongCredentials')} + )} + + {errorOnSubmit === 'error-login-blocked-for-ip' && ( + {t('registration.page.login.errors.loginBlockedForIp')} + )} + + {errorOnSubmit === 'error-login-blocked-for-user' && ( + {t('registration.page.login.errors.loginBlockedForUser')} + )} + + {errorOnSubmit === 'error-license-user-limit-reached' && ( + {t('registration.page.login.errors.licenseUserLimitReached')} + )} + + + + + + +

+ + New here? setLoginRoute('register')}>Create an account + +

+
+ + )} ); diff --git a/packages/web-ui-registration/src/LoginServices.tsx b/packages/web-ui-registration/src/LoginServices.tsx index 07152b15b58..6fce126f026 100644 --- a/packages/web-ui-registration/src/LoginServices.tsx +++ b/packages/web-ui-registration/src/LoginServices.tsx @@ -1,5 +1,5 @@ import { ButtonGroup, Divider } from '@rocket.chat/fuselage'; -import { useLoginServices } from '@rocket.chat/ui-contexts'; +import { useLoginServices, useSetting } from '@rocket.chat/ui-contexts'; import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; @@ -8,6 +8,7 @@ import LoginServicesButton from './LoginServicesButton'; const Services = ({ disabled }: { disabled?: boolean }): ReactElement | null => { const { t } = useTranslation(); const services = useLoginServices(); + const showFormLogin = useSetting('Accounts_ShowFormLogin'); if (services.length === 0) { return null; @@ -15,7 +16,7 @@ const Services = ({ disabled }: { disabled?: boolean }): ReactElement | null => return ( <> - + {showFormLogin && } {services.map((service) => ( diff --git a/packages/web-ui-registration/src/RegistrationPageRouter.tsx b/packages/web-ui-registration/src/RegistrationPageRouter.tsx index 39bd5fe6c25..c93a74e319f 100644 --- a/packages/web-ui-registration/src/RegistrationPageRouter.tsx +++ b/packages/web-ui-registration/src/RegistrationPageRouter.tsx @@ -1,4 +1,3 @@ -import { useSetting } from '@rocket.chat/ui-contexts'; import type { ReactElement } from 'react'; import { LoginForm } from './LoginForm'; @@ -13,9 +12,8 @@ export const RegistrationPageRouter = ({ defaultRoute?: 'login' | 'register' | 'reset-password' | 'secret-register'; }): ReactElement | null => { const [route, setLoginRoute] = useLoginRouter(defaultRoute); - const showFormLogin = useSetting('Accounts_ShowFormLogin'); - if (route === 'login' && showFormLogin) { + if (route === 'login') { return (