diff --git a/client/index.js b/client/index.js index c9898d83d03..90a17e5e767 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 c6fd2a33843..d254e1ac09e 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);