diff --git a/ui/app/components/app/network.js b/ui/app/components/app/network.js index d46906a66..88204aef7 100644 --- a/ui/app/components/app/network.js +++ b/ui/app/components/app/network.js @@ -1,7 +1,6 @@ -const Component = require('react').Component -const PropTypes = require('prop-types') -const h = require('react-hyperscript') -const connect = require('react-redux').connect +import PropTypes from 'prop-types' +import React, {Component} from 'react' + const classnames = require('classnames') const inherits = require('util').inherits const NetworkDropdownIcon = require('./dropdowns/components/network-dropdown-icon') @@ -10,8 +9,7 @@ Network.contextTypes = { t: PropTypes.func, } -module.exports = connect()(Network) - +module.exports = Network inherits(Network, Component) @@ -19,15 +17,14 @@ function Network () { Component.call(this) } -Network.prototype.render = function () { - const props = this.props +Network.prototype.render = function Network () { const context = this.context - const networkNumber = props.network + const networkNumber = this.props.network let providerName, providerNick, providerUrl try { - providerName = props.provider.type - providerNick = props.provider.nickname || '' - providerUrl = props.provider.rpcTarget + providerName = this.props.provider.type + providerNick = this.props.provider.nickname || '' + providerUrl = this.props.provider.rpcTarget } catch (e) { providerName = null } @@ -56,96 +53,124 @@ Network.prototype.render = function () { } return ( - h('div.network-component.pointer', { - className: classnames({ +
{ + })} + title={hoverText} + onClick={(event) => { if (!this.props.disabled) { this.props.onClick(event) } - }, - }, [ - (function () { + }} + > + {(function () { switch (iconName) { case 'ethereum-network': - return h('.network-indicator', [ - h(NetworkDropdownIcon, { - backgroundColor: '#038789', // $blue-lagoon - nonSelectBackgroundColor: '#15afb2', - loading: networkNumber === 'loading', - }), - h('.network-name', context.t('mainnet')), - h('.network-indicator__down-arrow'), - ]) + return ( +
+ +
+ {context.t('mainnet')} +
+
+
+ ) case 'ropsten-test-network': - return h('.network-indicator', [ - h(NetworkDropdownIcon, { - backgroundColor: '#e91550', // $crimson - nonSelectBackgroundColor: '#ec2c50', - loading: networkNumber === 'loading', - }), - h('.network-name', context.t('ropsten')), - h('.network-indicator__down-arrow'), - ]) + return ( +
+ +
+ {context.t('ropsten')} +
+
+
+ ) case 'kovan-test-network': - return h('.network-indicator', [ - h(NetworkDropdownIcon, { - backgroundColor: '#690496', // $purple - nonSelectBackgroundColor: '#b039f3', - loading: networkNumber === 'loading', - }), - h('.network-name', context.t('kovan')), - h('.network-indicator__down-arrow'), - ]) + return ( +
+ +
+ {context.t('kovan')} +
+
+
+ ) case 'rinkeby-test-network': - return h('.network-indicator', [ - h(NetworkDropdownIcon, { - backgroundColor: '#ebb33f', // $tulip-tree - nonSelectBackgroundColor: '#ecb23e', - loading: networkNumber === 'loading', - }), - h('.network-name', context.t('rinkeby')), - h('.network-indicator__down-arrow'), - ]) + return ( +
+ +
+ {context.t('rinkeby')} +
+
+
+ ) case 'goerli-test-network': - return h('.network-indicator', [ - h(NetworkDropdownIcon, { - backgroundColor: '#3099f2', // $dodger-blue - nonSelectBackgroundColor: '#ecb23e', - loading: networkNumber === 'loading', - }), - h('.network-name', context.t('goerli')), - h('.network-indicator__down-arrow'), - ]) + return ( +
+ +
{context.t('goerli')}
+
+
+ ) default: - return h('.network-indicator', [ - networkNumber === 'loading' - ? h('span.pointer.network-loading-spinner', { - onClick: (event) => this.props.onClick(event), - }, [ - h('img', { - title: context.t('attemptingConnect'), - src: 'images/loading.svg', - }), - ]) - : h('i.fa.fa-question-circle.fa-lg', { - style: { - color: 'rgb(125, 128, 130)', - }, - }), - - h('.network-name', providerName === 'localhost' ? context.t('localhost') : providerNick || context.t('privateNetwork')), - h('.network-indicator__down-arrow'), - ]) + return ( +
+ {networkNumber === 'loading' + ? ( + this.props.onClick(event)} + > + + + ) + : ( + + )} +
+ { + providerName === 'localhost' + ? context.t('localhost') + : providerNick || context.t('privateNetwork') + } +
+
+
+ ) } - })(), - ]) + })()} +
) }