From 40743af734e438a97f946476552ccda2a5b0dbcf Mon Sep 17 00:00:00 2001 From: enahum Date: Fri, 27 May 2016 13:53:31 -0300 Subject: PLT-3030 Fix Blank Page (#3104) --- webapp/action_creators/global_actions.jsx | 14 +++++++++++-- webapp/components/login/login.jsx | 1 + webapp/components/root.jsx | 33 ++++++++++++++++--------------- 3 files changed, 30 insertions(+), 18 deletions(-) diff --git a/webapp/action_creators/global_actions.jsx b/webapp/action_creators/global_actions.jsx index 6bb0c1732..f437e8a03 100644 --- a/webapp/action_creators/global_actions.jsx +++ b/webapp/action_creators/global_actions.jsx @@ -392,11 +392,15 @@ export function newLocalizationSelected(locale) { } else { Client.getTranslations( I18n.getLanguageInfo(locale).url, - (data) => { + (data, res) => { + let translations = data; + if (!data && res.text) { + translations = JSON.parse(res.text); + } AppDispatcher.handleServerAction({ type: ActionTypes.RECEIVED_LOCALE, locale, - translations: data + translations }); }, (err) => { @@ -409,6 +413,12 @@ export function newLocalizationSelected(locale) { export function loadBrowserLocale() { let locale = (navigator.languages && navigator.languages.length > 0 ? navigator.languages[0] : (navigator.language || navigator.userLanguage)).split('-')[0]; + + const user = UserStore.getCurrentUser(); + if (user) { + locale = user.locale || locale; + } + if (!I18n.getLanguages()[locale]) { locale = 'en'; } diff --git a/webapp/components/login/login.jsx b/webapp/components/login/login.jsx index 8ae3fdd4d..e0969001a 100644 --- a/webapp/components/login/login.jsx +++ b/webapp/components/login/login.jsx @@ -115,6 +115,7 @@ export default class Login extends React.Component { finishSignin() { GlobalActions.emitInitialLoad( () => { + GlobalActions.loadBrowserLocale(); browserHistory.push('/select_team'); } ); diff --git a/webapp/components/root.jsx b/webapp/components/root.jsx index 0adbc7f04..6a5af75c6 100644 --- a/webapp/components/root.jsx +++ b/webapp/components/root.jsx @@ -26,6 +26,19 @@ export default class Root extends React.Component { this.localizationChanged = this.localizationChanged.bind(this); this.redirectIfNecessary = this.redirectIfNecessary.bind(this); + + // Ya.... + /*eslint-disable */ + if (window.mm_config.SegmentDeveloperKey != null && window.mm_config.SegmentDeveloperKey !== "") { + !function(){var analytics=global.window.analytics=global.window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","group","track","ready","alias","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t