From 496c648f4638057c041b77aa162d5d9e26a053dd Mon Sep 17 00:00:00 2001 From: Stuart Taylor Date: Fri, 25 Nov 2016 00:59:51 +0000 Subject: [PATCH] Fix: Lang routes persist between sessions --- client/index.js | 5 ++++- client/utils/use-lang-routes.js | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/client/index.js b/client/index.js index c9898d83d0..90a17e5e76 100644 --- a/client/index.js +++ b/client/index.js @@ -16,6 +16,7 @@ import flashToToast from './utils/flash-to-toast'; import createApp from '../common/app'; import provideStore from '../common/app/provide-store'; +import { getLangFromPath } from '../common/app/utils/lang'; // client specific sagas import sagas from './sagas'; @@ -34,6 +35,8 @@ const DOMContainer = document.getElementById('fcc'); const initialState = isColdStored() ? getColdStorage() : window.__fcc__.data; +const primaryLang = getLangFromPath(window.location.pathname); + initialState.app.csrfToken = csrfToken; initialState.toasts = flashToToast(window.__fcc__.flash); @@ -42,7 +45,7 @@ window.__fcc__ = {}; const serviceOptions = { xhrPath: '/services', context: { _csrf: csrfToken } }; -const history = useLangRoutes(createHistory)(); +const history = useLangRoutes(createHistory, primaryLang)(); sendPageAnalytics(history, window.ga); const devTools = window.devToolsExtension ? window.devToolsExtension() : f => f; diff --git a/client/utils/use-lang-routes.js b/client/utils/use-lang-routes.js index c6fd2a3384..d254e1ac09 100644 --- a/client/utils/use-lang-routes.js +++ b/client/utils/use-lang-routes.js @@ -23,9 +23,9 @@ function getLangFromLocation(location) { return getLangFromPath(location.pathname); } -export default function useLangRoutes(createHistory) { +export default function useLangRoutes(createHistory, primaryLang) { return (options = {}) => { - let lang = 'en'; + let lang = primaryLang || 'en'; const history = createHistory(options); const unsubscribeFromHistory = history.listen(nextLocation => { lang = getLangFromLocation(nextLocation);