From dfa806299ff9af92ddde1ad8e73bfe85010dd4b7 Mon Sep 17 00:00:00 2001 From: Manan Jadhav Date: Fri, 27 Aug 2021 21:29:43 +0530 Subject: [PATCH 1/7] fix(password-error-trans): Fixed errors with the login form, and translation fix --- src/pages/signin/LoginForm.js | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/src/pages/signin/LoginForm.js b/src/pages/signin/LoginForm.js index eeda6c620e5e..315444efc35b 100755 --- a/src/pages/signin/LoginForm.js +++ b/src/pages/signin/LoginForm.js @@ -45,6 +45,7 @@ class LoginForm extends React.Component { super(props); this.validateAndSubmitForm = this.validateAndSubmitForm.bind(this); + this.isFormValid = this.isFormValid.bind(this); this.state = { formError: false, @@ -53,20 +54,33 @@ class LoginForm extends React.Component { } /** - * Check that all the form fields are valid, then trigger the submit callback + * Check that all the form fields are valid + * @returns {Boolean} */ - validateAndSubmitForm() { + isFormValid() { if (!this.state.login.trim()) { - this.setState({formError: this.props.translate('loginForm.pleaseEnterEmailOrPhoneNumber')}); - return; + this.setState({formError: 'loginForm.pleaseEnterEmailOrPhoneNumber'}); + return false; } this.setState({ formError: null, }); - // Check if this login has an account associated with it or not - fetchAccountDetails(this.state.login); + return true; + } + + + /** + * Check if form is valid, then trigger the submit callback + */ + validateAndSubmitForm() { + const isValid = this.isFormValid(); + + if (isValid) { + // Check if this login has an account associated with it or not + fetchAccountDetails(this.state.login); + } } render() { @@ -87,15 +101,16 @@ class LoginForm extends React.Component { placeholderTextColor={themeColors.placeholderText} autoFocus={canFocusInputOnScreenFocus()} translateX={-18} + onBlur={this.isFormValid} /> {this.state.formError && ( - {this.state.formError} + {this.props.translate(this.state.formError)} )} - {!_.isEmpty(this.props.account.error) && ( + {!this.state.formError && !_.isEmpty(this.props.account.error) && ( {this.props.account.error} From f7bb52aa228961172b7bb7617b321ee830db0433 Mon Sep 17 00:00:00 2001 From: Manan Jadhav Date: Fri, 27 Aug 2021 21:31:15 +0530 Subject: [PATCH 2/7] fix(password-error-trans): Fixed translation issue on PasswordForm --- src/pages/signin/PasswordForm.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/signin/PasswordForm.js b/src/pages/signin/PasswordForm.js index 32c5a3ed7580..42efdeb15d9c 100755 --- a/src/pages/signin/PasswordForm.js +++ b/src/pages/signin/PasswordForm.js @@ -59,7 +59,7 @@ class PasswordForm extends React.Component { if (!this.state.password.trim() || (this.props.account.requiresTwoFactorAuth && !this.state.twoFactorAuthCode.trim()) ) { - this.setState({formError: this.props.translate('passwordForm.pleaseFillOutAllFields')}); + this.setState({formError: 'passwordForm.pleaseFillOutAllFields'}); return; } @@ -119,7 +119,7 @@ class PasswordForm extends React.Component { {this.state.formError && ( - {this.state.formError} + {this.props.translate(this.state.formError)} )} From 59e6566db7b5ff629e33461d78cb30a85d86ae81 Mon Sep 17 00:00:00 2001 From: Manan Jadhav Date: Fri, 27 Aug 2021 21:39:25 +0530 Subject: [PATCH 3/7] fix(password-error-trans): Hide error onBlur of the form --- src/pages/signin/PasswordForm.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/pages/signin/PasswordForm.js b/src/pages/signin/PasswordForm.js index 42efdeb15d9c..0faaeca05f8d 100755 --- a/src/pages/signin/PasswordForm.js +++ b/src/pages/signin/PasswordForm.js @@ -44,6 +44,7 @@ class PasswordForm extends React.Component { super(props); this.validateAndSubmitForm = this.validateAndSubmitForm.bind(this); + this.isFormValid = this.isFormValid.bind(this); this.state = { formError: false, @@ -53,9 +54,11 @@ class PasswordForm extends React.Component { } /** - * Check that all the form fields are valid, then trigger the submit callback + * Check that all the form fields are valid + * @returns {Boolean} */ - validateAndSubmitForm() { + + isFormValid() { if (!this.state.password.trim() || (this.props.account.requiresTwoFactorAuth && !this.state.twoFactorAuthCode.trim()) ) { @@ -66,8 +69,16 @@ class PasswordForm extends React.Component { this.setState({ formError: null, }); + } - signIn(this.state.password, this.state.twoFactorAuthCode); + /** + * Check if form is valid, then trigger the submit callback + */ + validateAndSubmitForm() { + const isValid = this.isFormValid(); + if (isValid) { + signIn(this.state.password, this.state.twoFactorAuthCode); + } } render() { @@ -84,6 +95,7 @@ class PasswordForm extends React.Component { onSubmitEditing={this.validateAndSubmitForm} autoFocus translateX={-18} + onBlur={this.isFormValid} /> Date: Fri, 27 Aug 2021 21:40:08 +0530 Subject: [PATCH 4/7] fix(password-error-trans): Avoid showing formError as well as API error --- src/pages/signin/PasswordForm.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/signin/PasswordForm.js b/src/pages/signin/PasswordForm.js index 0faaeca05f8d..6044ece4e86f 100755 --- a/src/pages/signin/PasswordForm.js +++ b/src/pages/signin/PasswordForm.js @@ -123,7 +123,7 @@ class PasswordForm extends React.Component { )} - {this.props.account && !_.isEmpty(this.props.account.error) && ( + {!this.state.formError && this.props.account && !_.isEmpty(this.props.account.error) && ( {this.props.account.error} From 753d9b121c62c6da92c4e2665de6145d55ba45fe Mon Sep 17 00:00:00 2001 From: Manan Jadhav Date: Fri, 27 Aug 2021 23:06:54 +0530 Subject: [PATCH 5/7] fix(password-error-trans): Return flags in form --- src/pages/signin/PasswordForm.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/signin/PasswordForm.js b/src/pages/signin/PasswordForm.js index 6044ece4e86f..0f55cfef603e 100755 --- a/src/pages/signin/PasswordForm.js +++ b/src/pages/signin/PasswordForm.js @@ -63,12 +63,13 @@ class PasswordForm extends React.Component { || (this.props.account.requiresTwoFactorAuth && !this.state.twoFactorAuthCode.trim()) ) { this.setState({formError: 'passwordForm.pleaseFillOutAllFields'}); - return; + return false; } this.setState({ formError: null, }); + return true; } /** From 4f9b57fce29764611b496def04ae8e9aa169707e Mon Sep 17 00:00:00 2001 From: Manan Jadhav Date: Fri, 27 Aug 2021 23:07:42 +0530 Subject: [PATCH 6/7] fix(password-error-trans): Fix iOS terms overflow --- .../signin/TermsAndLicenses/TermsWithLicenses/index.ios.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/signin/TermsAndLicenses/TermsWithLicenses/index.ios.js b/src/pages/signin/TermsAndLicenses/TermsWithLicenses/index.ios.js index f884c94d7d8e..6314e7ae4485 100644 --- a/src/pages/signin/TermsAndLicenses/TermsWithLicenses/index.ios.js +++ b/src/pages/signin/TermsAndLicenses/TermsWithLicenses/index.ios.js @@ -20,7 +20,7 @@ const TermsWithLicenses = ({translate}) => ( styles.justifyContentCenter, ]} > - + {translate('termsOfUse.phrase1')} From 686100ce1ec26a8028abb5bca3a40c52a6d0e529 Mon Sep 17 00:00:00 2001 From: Manan Jadhav Date: Sat, 28 Aug 2021 00:08:21 +0530 Subject: [PATCH 7/7] fix(password-error-trans): Rolled back isFormValid changes --- src/pages/signin/LoginForm.js | 25 +++++-------------------- src/pages/signin/PasswordForm.js | 21 ++++----------------- 2 files changed, 9 insertions(+), 37 deletions(-) diff --git a/src/pages/signin/LoginForm.js b/src/pages/signin/LoginForm.js index 315444efc35b..9ffe5e491fc9 100755 --- a/src/pages/signin/LoginForm.js +++ b/src/pages/signin/LoginForm.js @@ -45,7 +45,6 @@ class LoginForm extends React.Component { super(props); this.validateAndSubmitForm = this.validateAndSubmitForm.bind(this); - this.isFormValid = this.isFormValid.bind(this); this.state = { formError: false, @@ -54,33 +53,20 @@ class LoginForm extends React.Component { } /** - * Check that all the form fields are valid - * @returns {Boolean} + * Check that all the form fields are valid, then trigger the submit callback */ - isFormValid() { + validateAndSubmitForm() { if (!this.state.login.trim()) { this.setState({formError: 'loginForm.pleaseEnterEmailOrPhoneNumber'}); - return false; + return; } this.setState({ formError: null, }); - return true; - } - - - /** - * Check if form is valid, then trigger the submit callback - */ - validateAndSubmitForm() { - const isValid = this.isFormValid(); - - if (isValid) { - // Check if this login has an account associated with it or not - fetchAccountDetails(this.state.login); - } + // Check if this login has an account associated with it or not + fetchAccountDetails(this.state.login); } render() { @@ -101,7 +87,6 @@ class LoginForm extends React.Component { placeholderTextColor={themeColors.placeholderText} autoFocus={canFocusInputOnScreenFocus()} translateX={-18} - onBlur={this.isFormValid} /> {this.state.formError && ( diff --git a/src/pages/signin/PasswordForm.js b/src/pages/signin/PasswordForm.js index 0f55cfef603e..e0341fc4cf06 100755 --- a/src/pages/signin/PasswordForm.js +++ b/src/pages/signin/PasswordForm.js @@ -44,7 +44,6 @@ class PasswordForm extends React.Component { super(props); this.validateAndSubmitForm = this.validateAndSubmitForm.bind(this); - this.isFormValid = this.isFormValid.bind(this); this.state = { formError: false, @@ -54,32 +53,21 @@ class PasswordForm extends React.Component { } /** - * Check that all the form fields are valid - * @returns {Boolean} + * Check that all the form fields are valid, then trigger the submit callback */ - - isFormValid() { + validateAndSubmitForm() { if (!this.state.password.trim() || (this.props.account.requiresTwoFactorAuth && !this.state.twoFactorAuthCode.trim()) ) { this.setState({formError: 'passwordForm.pleaseFillOutAllFields'}); - return false; + return; } this.setState({ formError: null, }); - return true; - } - /** - * Check if form is valid, then trigger the submit callback - */ - validateAndSubmitForm() { - const isValid = this.isFormValid(); - if (isValid) { - signIn(this.state.password, this.state.twoFactorAuthCode); - } + signIn(this.state.password, this.state.twoFactorAuthCode); } render() { @@ -96,7 +84,6 @@ class PasswordForm extends React.Component { onSubmitEditing={this.validateAndSubmitForm} autoFocus translateX={-18} - onBlur={this.isFormValid} />