From 5fe0be722b6514692a68e920ee8058c5d572237d Mon Sep 17 00:00:00 2001 From: Dan Date: Thu, 15 Mar 2018 21:59:45 -0230 Subject: Handle i18n with redux. --- ui/app/components/token-list.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'ui/app/components/token-list.js') diff --git a/ui/app/components/token-list.js b/ui/app/components/token-list.js index 01529aeda..439619158 100644 --- a/ui/app/components/token-list.js +++ b/ui/app/components/token-list.js @@ -3,9 +3,9 @@ const h = require('react-hyperscript') const inherits = require('util').inherits const TokenTracker = require('eth-token-tracker') const TokenCell = require('./token-cell.js') -const connect = require('react-redux').connect +const connect = require('../metamask-connect') const selectors = require('../selectors') -const t = require('../../i18n') +const t = require('../../i18n-helper').getMessage function mapStateToProps (state) { return { @@ -43,7 +43,7 @@ TokenList.prototype.render = function () { const { tokens, isLoading, error } = state if (isLoading) { - return this.message(t('loadingTokens')) + return this.message(t(this.props.localeMessages, 'loadingTokens')) } if (error) { @@ -53,7 +53,7 @@ TokenList.prototype.render = function () { padding: '80px', }, }, [ - t('troubleTokenBalances'), + t(this.props.localeMessages, 'troubleTokenBalances'), h('span.hotFix', { style: { color: 'rgba(247, 134, 28, 1)', @@ -64,7 +64,7 @@ TokenList.prototype.render = function () { url: `https://ethplorer.io/address/${userAddress}`, }) }, - }, t('here')), + }, t(this.props.localeMessages, 'here')), ]) } -- cgit From d24a0590d363dbe88d383c8faec8eb28809242f0 Mon Sep 17 00:00:00 2001 From: Dan Date: Wed, 21 Mar 2018 22:11:47 -0230 Subject: i18n redux solution doesn't require importing t() and passing state to each t() call; t is just available on props. --- ui/app/components/token-list.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'ui/app/components/token-list.js') diff --git a/ui/app/components/token-list.js b/ui/app/components/token-list.js index 439619158..ae22f3702 100644 --- a/ui/app/components/token-list.js +++ b/ui/app/components/token-list.js @@ -5,7 +5,6 @@ const TokenTracker = require('eth-token-tracker') const TokenCell = require('./token-cell.js') const connect = require('../metamask-connect') const selectors = require('../selectors') -const t = require('../../i18n-helper').getMessage function mapStateToProps (state) { return { @@ -43,7 +42,7 @@ TokenList.prototype.render = function () { const { tokens, isLoading, error } = state if (isLoading) { - return this.message(t(this.props.localeMessages, 'loadingTokens')) + return this.message(this.props.t('loadingTokens')) } if (error) { @@ -53,7 +52,7 @@ TokenList.prototype.render = function () { padding: '80px', }, }, [ - t(this.props.localeMessages, 'troubleTokenBalances'), + this.props.t('troubleTokenBalances'), h('span.hotFix', { style: { color: 'rgba(247, 134, 28, 1)', @@ -64,7 +63,7 @@ TokenList.prototype.render = function () { url: `https://ethplorer.io/address/${userAddress}`, }) }, - }, t(this.props.localeMessages, 'here')), + }, this.props.t('here')), ]) } -- cgit From 0a711f0de0e342b24988a5da4ca5c64342153210 Mon Sep 17 00:00:00 2001 From: Dan Date: Thu, 29 Mar 2018 12:30:44 -0230 Subject: Removes t from props via metamask-connect and instead places it on context via a provider. --- ui/app/components/token-list.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'ui/app/components/token-list.js') diff --git a/ui/app/components/token-list.js b/ui/app/components/token-list.js index ae22f3702..150a3762d 100644 --- a/ui/app/components/token-list.js +++ b/ui/app/components/token-list.js @@ -1,9 +1,10 @@ const Component = require('react').Component +const PropTypes = require('prop-types') const h = require('react-hyperscript') const inherits = require('util').inherits const TokenTracker = require('eth-token-tracker') const TokenCell = require('./token-cell.js') -const connect = require('../metamask-connect') +const connect = require('react-redux').connect const selectors = require('../selectors') function mapStateToProps (state) { @@ -24,8 +25,13 @@ for (const address in contracts) { } } +TokenList.contextTypes = { + t: PropTypes.func, +} + module.exports = connect(mapStateToProps)(TokenList) + inherits(TokenList, Component) function TokenList () { this.state = { @@ -42,7 +48,7 @@ TokenList.prototype.render = function () { const { tokens, isLoading, error } = state if (isLoading) { - return this.message(this.props.t('loadingTokens')) + return this.message(this.context.t('loadingTokens')) } if (error) { @@ -52,7 +58,7 @@ TokenList.prototype.render = function () { padding: '80px', }, }, [ - this.props.t('troubleTokenBalances'), + this.context.t('troubleTokenBalances'), h('span.hotFix', { style: { color: 'rgba(247, 134, 28, 1)', @@ -63,7 +69,7 @@ TokenList.prototype.render = function () { url: `https://ethplorer.io/address/${userAddress}`, }) }, - }, this.props.t('here')), + }, this.context.t('here')), ]) } -- cgit