Skip to content

Commit d36d908

Browse files
authored
Merge pull request processing#2 from andrewn/feature/persistanceLanguage
Change language in one place
2 parents 029efcb + 563129e commit d36d908

File tree

3 files changed

+6
-11
lines changed

3 files changed

+6
-11
lines changed

client/components/Nav.jsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,6 @@ class Nav extends React.PureComponent {
169169
}
170170

171171
handleLangSelection(event) {
172-
i18next.changeLanguage(event.target.value);
173172
this.props.setLanguage(event.target.value);
174173
this.props.showToast(1500);
175174
this.props.setToastText('Toast.LangChange');

client/modules/IDE/actions/preferences.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,14 +211,15 @@ export function setAllAccessibleOutput(value) {
211211
};
212212
}
213213

214-
export function setLanguage(value) {
214+
export function setLanguage(value, { persistPreference = true } = {}) {
215215
return (dispatch, getState) => {
216+
i18next.changeLanguage(value);
216217
dispatch({
217218
type: ActionTypes.SET_LANGUAGE,
218219
language: value
219220
});
220221
const state = getState();
221-
if (state.user.authenticated) {
222+
if (persistPreference && state.user.authenticated) {
222223
const formParams = {
223224
preferences: {
224225
language: value

client/modules/User/actions.js

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { browserHistory } from 'react-router';
22
import * as ActionTypes from '../../constants';
33
import apiClient from '../../utils/apiClient';
44
import { showErrorModal, justOpenedProject } from '../IDE/actions/ide';
5+
import { setLanguage } from '../IDE/actions/preferences';
56
import { showToast, setToastText } from '../IDE/actions/toast';
67

78
export function authError(error) {
@@ -60,10 +61,7 @@ export function validateAndLoginUser(previousPath, formProps, dispatch) {
6061
preferences: response.data.preferences
6162
});
6263
const valorLanguage = response.data.preferences.language;
63-
dispatch({
64-
type: ActionTypes.SET_LANGUAGE,
65-
language: valorLanguage
66-
});
64+
setLanguage(valorLanguage, { persistPreference: false });
6765
dispatch(justOpenedProject());
6866
browserHistory.push(previousPath);
6967
resolve();
@@ -85,10 +83,7 @@ export function getUser() {
8583
type: ActionTypes.SET_PREFERENCES,
8684
preferences: response.data.preferences
8785
});
88-
dispatch({
89-
type: ActionTypes.SET_LANGUAGE,
90-
language: response.data.preferences.language
91-
});
86+
setLanguage(response.data.preferences.language, { persistPreference: false });
9287
}).catch((error) => {
9388
const { response } = error;
9489
const message = response.message || response.data.error;

0 commit comments

Comments
 (0)