From e00b5b640b75684b0142291a050489532d192783 Mon Sep 17 00:00:00 2001 From: Hongarc Date: Fri, 6 Mar 2020 11:52:59 +0700 Subject: [PATCH] feat: update url if user change locale --- src/js/stores/LocaleStore.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/js/stores/LocaleStore.js b/src/js/stores/LocaleStore.js index 1d024576..cb0d4ce6 100644 --- a/src/js/stores/LocaleStore.js +++ b/src/js/stores/LocaleStore.js @@ -2,6 +2,7 @@ var AppConstants = require('../constants/AppConstants'); var AppDispatcher = require('../dispatcher/AppDispatcher'); +var util = require('../util'); var EventEmitter = require('events').EventEmitter; var ActionTypes = AppConstants.ActionTypes; @@ -84,6 +85,7 @@ AppConstants.StoreSubscribePrototype, dispatchToken: AppDispatcher.register(function(payload) { var action = payload.action; var shouldInform = false; + var oldLocale = _locale; switch (action.type) { case ActionTypes.CHANGE_LOCALE: @@ -99,6 +101,12 @@ AppConstants.StoreSubscribePrototype, break; } + if (util.isBrowser() && oldLocale !== _locale) { + var url = new URL(document.location.href); + url.searchParams.set('locale', _locale); + window.history.replaceState({}, '', url.href); + } + if (shouldInform) { LocaleStore.emit(AppConstants.CHANGE_EVENT); }