diff --git a/src/libs/actions/Session/index.js b/src/libs/actions/Session/index.js index 42492432b23..5736632c72a 100644 --- a/src/libs/actions/Session/index.js +++ b/src/libs/actions/Session/index.js @@ -275,8 +275,9 @@ function signInWithShortLivedAuthToken(email, authToken) { * @param {String} password This will be removed after passwordless beta ends * @param {String} [validateCode] Code for passwordless login * @param {String} [twoFactorAuthCode] + * @param {String} [preferredLocale] Indicates which language to use when the user lands in the app */ -function signIn(password, validateCode, twoFactorAuthCode) { +function signIn(password, validateCode, twoFactorAuthCode, preferredLocale = CONST.DEFAULT_LOCALE) { const optimisticData = [ { onyxMethod: CONST.ONYX.METHOD.MERGE, @@ -308,7 +309,7 @@ function signIn(password, validateCode, twoFactorAuthCode) { }, ]; - const params = {twoFactorAuthCode, email: credentials.login}; + const params = {twoFactorAuthCode, email: credentials.login, preferredLocale}; // Conditionally pass a password or validateCode to command since we temporarily allow both flows if (validateCode) { diff --git a/src/pages/signin/PasswordForm.js b/src/pages/signin/PasswordForm.js index 91b8ac27be9..8d0c0855d1d 100755 --- a/src/pages/signin/PasswordForm.js +++ b/src/pages/signin/PasswordForm.js @@ -38,6 +38,9 @@ const propTypes = { isLoading: PropTypes.bool, }), + /** Indicates which locale the user currently has selected */ + preferredLocale: PropTypes.string, + /** Information about the network */ network: networkPropTypes.isRequired, @@ -47,6 +50,7 @@ const propTypes = { const defaultProps = { account: {}, + preferredLocale: CONST.DEFAULT_LOCALE, }; class PasswordForm extends React.Component { @@ -160,7 +164,7 @@ class PasswordForm extends React.Component { formError: {}, }); - Session.signIn(password, '', twoFactorCode); + Session.signIn(password, '', twoFactorCode, this.props.preferredLocale); } render() { @@ -240,6 +244,7 @@ export default compose( withLocalize, withOnyx({ account: {key: ONYXKEYS.ACCOUNT}, + preferredLocale: {key: ONYXKEYS.NVP_PREFERRED_LOCALE}, }), withToggleVisibilityView, withNetwork(), diff --git a/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js b/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js index 2e9b81d0218..5e3d00403e8 100755 --- a/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js +++ b/src/pages/signin/ValidateCodeForm/BaseValidateCodeForm.js @@ -45,6 +45,9 @@ const propTypes = { login: PropTypes.string, }), + /** Indicates which locale the user currently has selected */ + preferredLocale: PropTypes.string, + /** Information about the network */ network: networkPropTypes.isRequired, @@ -58,6 +61,7 @@ const propTypes = { const defaultProps = { account: {}, credentials: {}, + preferredLocale: CONST.DEFAULT_LOCALE, }; class BaseValidateCodeForm extends React.Component { @@ -180,7 +184,7 @@ class BaseValidateCodeForm extends React.Component { if (accountID) { Session.signInWithValidateCode(accountID, this.state.validateCode, this.state.twoFactorAuthCode); } else { - Session.signIn('', this.state.validateCode, this.state.twoFactorAuthCode); + Session.signIn('', this.state.validateCode, this.state.twoFactorAuthCode, this.props.preferredLocale); } } @@ -271,6 +275,7 @@ export default compose( withOnyx({ account: {key: ONYXKEYS.ACCOUNT}, credentials: {key: ONYXKEYS.CREDENTIALS}, + preferredLocale: {key: ONYXKEYS.NVP_PREFERRED_LOCALE}, }), withToggleVisibilityView, withNetwork(),