diff options
author | Dan <danjm.com@gmail.com> | 2018-03-29 23:00:44 +0800 |
---|---|---|
committer | Dan <danjm.com@gmail.com> | 2018-03-29 23:12:38 +0800 |
commit | 0a711f0de0e342b24988a5da4ca5c64342153210 (patch) | |
tree | 9dd6014e6389cfad02d5380e6810a12fdf747b0a /ui/app/i18n-provider.js | |
parent | 650b716f55fcfa809b22708b9ad43c8a0716f9fc (diff) | |
download | tangerine-wallet-browser-0a711f0de0e342b24988a5da4ca5c64342153210.tar.gz tangerine-wallet-browser-0a711f0de0e342b24988a5da4ca5c64342153210.tar.zst tangerine-wallet-browser-0a711f0de0e342b24988a5da4ca5c64342153210.zip |
Removes t from props via metamask-connect and instead places it on context via a provider.
Diffstat (limited to 'ui/app/i18n-provider.js')
-rw-r--r-- | ui/app/i18n-provider.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/ui/app/i18n-provider.js b/ui/app/i18n-provider.js new file mode 100644 index 000000000..57482985d --- /dev/null +++ b/ui/app/i18n-provider.js @@ -0,0 +1,37 @@ +const { Component } = require('react') +const connect = require('react-redux').connect +const h = require('react-hyperscript') +const PropTypes = require('prop-types') +const t = require('../i18n-helper').getMessage + +class I18nProvider extends Component { + getChildContext() { + const { localeMessages } = this.props + return { + t: t.bind(null, localeMessages), + } + } + + render() { + return h('div', [ this.props.children ]) + } +} + +I18nProvider.propTypes = { + localeMessages: PropTypes.object, + children: PropTypes.object, +} + +I18nProvider.childContextTypes = { + t: PropTypes.func, +} + +const mapStateToProps = state => { + const { localeMessages } = state + return { + localeMessages, + } +} + +module.exports = connect(mapStateToProps)(I18nProvider) + |