diff options
author | Dan <danjm.com@gmail.com> | 2018-03-16 08:29:45 +0800 |
---|---|---|
committer | Dan <danjm.com@gmail.com> | 2018-03-16 08:29:45 +0800 |
commit | 5fe0be722b6514692a68e920ee8058c5d572237d (patch) | |
tree | 58da5c62f17cbd0160d24e44918aa34b4ee23300 /ui/app/actions.js | |
parent | eb5a84975b490664aa6238be6ceab3d4749167ee (diff) | |
download | tangerine-wallet-browser-5fe0be722b6514692a68e920ee8058c5d572237d.tar.gz tangerine-wallet-browser-5fe0be722b6514692a68e920ee8058c5d572237d.tar.zst tangerine-wallet-browser-5fe0be722b6514692a68e920ee8058c5d572237d.zip |
Handle i18n with redux.
Diffstat (limited to 'ui/app/actions.js')
-rw-r--r-- | ui/app/actions.js | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/ui/app/actions.js b/ui/app/actions.js index 092af080b..4749d0735 100644 --- a/ui/app/actions.js +++ b/ui/app/actions.js @@ -2,6 +2,7 @@ const abi = require('human-standard-token-abi') const getBuyEthUrl = require('../../app/scripts/lib/buy-eth-url') const { getTokenAddressFromTokenObject } = require('./util') const ethUtil = require('ethereumjs-util') +const { fetchLocale } = require('../i18n-helper') var actions = { _setBackgroundConnection: _setBackgroundConnection, @@ -23,7 +24,7 @@ var actions = { NETWORK_DROPDOWN_CLOSE: 'UI_NETWORK_DROPDOWN_CLOSE', showNetworkDropdown: showNetworkDropdown, hideNetworkDropdown: hideNetworkDropdown, - // menu state + // menu state/ getNetworkStatus: 'getNetworkStatus', // transition state TRANSITION_FORWARD: 'TRANSITION_FORWARD', @@ -254,6 +255,13 @@ var actions = { SET_USE_BLOCKIE: 'SET_USE_BLOCKIE', setUseBlockie, + // locale + SET_CURRENT_LOCALE: 'SET_CURRENT_LOCALE', + SET_LOCALE_MESSAGES: 'SET_LOCALE_MESSAGES', + setCurrentLocale, + updateCurrentLocale, + setLocaleMessages, + // // Feature Flags setFeatureFlag, updateFeatureFlags, @@ -1790,6 +1798,39 @@ function setUseBlockie (val) { } } +function updateCurrentLocale (key) { + return (dispatch) => { + dispatch(actions.showLoadingIndication()) + log.debug(`background.updateCurrentLocale`) + console.log(`fetchLocale`, fetchLocale); + fetchLocale(key) + .then((localeMessages) => { + background.setCurrentLocale(key, (err) => { + dispatch(actions.hideLoadingIndication()) + if (err) { + return dispatch(actions.displayWarning(err.message)) + } + dispatch(actions.setCurrentLocale(key)) + dispatch(actions.setLocaleMessages(localeMessages)) + }) + }) + } +} + +function setCurrentLocale (key) { + return { + type: actions.SET_CURRENT_LOCALE, + value: key, + } +} + +function setLocaleMessages (localeMessages) { + return { + type: actions.SET_LOCALE_MESSAGES, + value: localeMessages, + } +} + function setNetworkEndpoints (networkEndpointType) { return dispatch => { log.debug('background.setNetworkEndpoints') |