diff options
author | Dan Finlay <dan@danfinlay.com> | 2017-03-09 07:19:33 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2017-03-09 07:19:33 +0800 |
commit | e3f6c010abb5cec35910dc4ea83f451287d25f11 (patch) | |
tree | bcc8f6b5e70b136d45644ae56024b253086e8b64 /ui/app/app.js | |
parent | 69d4aafc3e8fd62875e5da2c2c6c7b3bdac5bf9f (diff) | |
parent | 1fbe4a801a05523cbdf97f7d8491affb49ed9bc6 (diff) | |
download | tangerine-wallet-browser-e3f6c010abb5cec35910dc4ea83f451287d25f11.tar.gz tangerine-wallet-browser-e3f6c010abb5cec35910dc4ea83f451287d25f11.tar.zst tangerine-wallet-browser-e3f6c010abb5cec35910dc4ea83f451287d25f11.zip |
Get basic ENS working
& merge master into ENS branch.
Diffstat (limited to 'ui/app/app.js')
-rw-r--r-- | ui/app/app.js | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/ui/app/app.js b/ui/app/app.js index 63fab5db8..2bc92b54c 100644 --- a/ui/app/app.js +++ b/ui/app/app.js @@ -58,6 +58,7 @@ function mapStateToProps (state) { forgottenPassword: state.appState.forgottenPassword, lastUnreadNotice: state.metamask.lastUnreadNotice, lostAccounts: state.metamask.lostAccounts, + frequentRpcList: state.metamask.frequentRpcList || [], } } @@ -211,6 +212,7 @@ App.prototype.renderAppBar = function () { App.prototype.renderNetworkDropdown = function () { const props = this.props + const rpcList = props.frequentRpcList const state = this.state || {} const isOpen = state.isNetworkMenuOpen @@ -256,12 +258,13 @@ App.prototype.renderNetworkDropdown = function () { h(DropMenuItem, { label: 'Localhost 8545', closeMenu: () => this.setState({ isNetworkMenuOpen: false }), - action: () => props.dispatch(actions.setRpcTarget('http://localhost:8545')), + action: () => props.dispatch(actions.setDefaultRpcTarget(rpcList)), icon: h('i.fa.fa-question-circle.fa-lg'), activeNetworkRender: props.provider.rpcTarget, }), this.renderCustomOption(props.provider), + this.renderCommonRpc(rpcList, props.provider), props.isUnlocked && h(DropMenuItem, { label: 'Custom RPC', @@ -496,6 +499,12 @@ App.prototype.renderCustomOption = function (provider) { const { rpcTarget, type } = provider if (type !== 'rpc') return null + // Concatenate long URLs + let label = rpcTarget + if (rpcTarget.length > 31) { + label = label.substr(0, 34) + '...' + } + switch (rpcTarget) { case 'http://localhost:8545': @@ -503,10 +512,32 @@ App.prototype.renderCustomOption = function (provider) { default: return h(DropMenuItem, { - label: `${rpcTarget}`, + label, + key: rpcTarget, closeMenu: () => this.setState({ isNetworkMenuOpen: false }), icon: h('i.fa.fa-question-circle.fa-lg'), activeNetworkRender: 'custom', }) } } + +App.prototype.renderCommonRpc = function (rpcList, provider) { + const { rpcTarget } = provider + const props = this.props + + return rpcList.map((rpc) => { + if ((rpc === 'http://localhost:8545') || (rpc === rpcTarget)) { + return null + } else { + return h(DropMenuItem, { + label: rpc, + key: rpc, + closeMenu: () => this.setState({ isNetworkMenuOpen: false }), + action: () => props.dispatch(actions.setRpcTarget(rpc)), + icon: h('i.fa.fa-question-circle.fa-lg'), + activeNetworkRender: rpc, + }) + } + }) + +} |