diff --git a/ui/app/components/app/shift-list-item/shift-list-item.component.js b/ui/app/components/app/shift-list-item/shift-list-item.component.js
index 0d8e55389..5e8797d27 100644
--- a/ui/app/components/app/shift-list-item/shift-list-item.component.js
+++ b/ui/app/components/app/shift-list-item/shift-list-item.component.js
@@ -5,7 +5,7 @@ const actions = require('../../../store/actions')
const { formatDate, addressSummary } = require('../../../helpers/utils/util')
const CopyButton = require('../../ui/copyButton')
-const EthBalance = require('../../ui/eth-balance')
+const EthBalance = require('../../ui/eth-balance').default
const Tooltip = require('../../ui/tooltip')
export default class ShiftListItem extends Component {
diff --git a/ui/app/components/ui/eth-balance.js b/ui/app/components/ui/eth-balance.js
deleted file mode 100644
index 63d0057c5..000000000
--- a/ui/app/components/ui/eth-balance.js
+++ /dev/null
@@ -1,106 +0,0 @@
-const { Component } = require('react')
-const h = require('react-hyperscript')
-const connect = require('react-redux').connect
-const { inherits } = require('util')
-const {
- formatBalance,
- generateBalanceObject,
-} = require('../../helpers/utils/util')
-const Tooltip = require('./tooltip.js')
-const FiatValue = require('./fiat-value.js')
-
-module.exports = connect(mapStateToProps)(EthBalanceComponent)
-function mapStateToProps (state) {
- return {
- ticker: state.metamask.ticker,
- }
-}
-
-inherits(EthBalanceComponent, Component)
-function EthBalanceComponent () {
- Component.call(this)
-}
-
-EthBalanceComponent.prototype.render = function () {
- const props = this.props
- const { ticker, value, style, width, needsParse = true } = props
-
- const formattedValue = value ? formatBalance(value, 6, needsParse, ticker) : '...'
-
- return (
-
- h('.ether-balance.ether-balance-amount', {
- style,
- }, [
- h('div', {
- style: {
- display: 'inline',
- width,
- },
- }, this.renderBalance(formattedValue)),
- ])
-
- )
-}
-EthBalanceComponent.prototype.renderBalance = function (value) {
- if (value === 'None') {
- return value
- }
- if (value === '...') {
- return value
- }
-
- const {
- conversionRate,
- shorten,
- incoming,
- currentCurrency,
- hideTooltip,
- styleOveride = {},
- showFiat = true,
- } = this.props
- const { fontSize, color, fontFamily, lineHeight } = styleOveride
-
- const { shortBalance, balance, label } = generateBalanceObject(value, shorten ? 1 : 3)
- const balanceToRender = shorten ? shortBalance : balance
-
- const [ethNumber, ethSuffix] = value.split(' ')
- const containerProps = hideTooltip ? {} : {
- position: 'bottom',
- title: `${ethNumber} ${ethSuffix}`,
- }
-
- return (
- h(hideTooltip ? 'div' : Tooltip,
- containerProps,
- h('div.flex-column', [
- h('.flex-row', {
- style: {
- alignItems: 'flex-end',
- lineHeight: lineHeight || '13px',
- fontFamily: fontFamily || 'Montserrat Light',
- textRendering: 'geometricPrecision',
- },
- }, [
- h('div', {
- style: {
- width: '100%',
- textAlign: 'right',
- fontSize: fontSize || 'inherit',
- color: color || 'inherit',
- },
- }, incoming ? `+${balanceToRender}` : balanceToRender),
- h('div', {
- style: {
- color: color || '#AEAEAE',
- fontSize: fontSize || '12px',
- marginLeft: '5px',
- },
- }, label),
- ]),
-
- showFiat ? h(FiatValue, { value: this.props.value, conversionRate, currentCurrency }) : null,
- ])
- )
- )
-}
diff --git a/ui/app/components/ui/eth-balance/eth-balance.component.js b/ui/app/components/ui/eth-balance/eth-balance.component.js
new file mode 100644
index 000000000..fedbcc192
--- /dev/null
+++ b/ui/app/components/ui/eth-balance/eth-balance.component.js
@@ -0,0 +1,129 @@
+import PropTypes from 'prop-types'
+import React, {Component} from 'react'
+
+const {
+ formatBalance,
+ generateBalanceObject,
+} = require('../../../helpers/utils/util')
+const Tooltip = require('../tooltip.js')
+const FiatValue = require('../fiat-value.js')
+
+export default class EthBalance extends Component {
+ static defaultProps = {
+ style: null,
+ styleOverride: {},
+ showFiat: true,
+ needsParse: true,
+ width: undefined,
+ shorten: false,
+ incoming: false,
+ }
+
+ static propTypes = {
+ conversionRate: PropTypes.any.isRequired,
+ shorten: PropTypes.bool,
+ incoming: PropTypes.bool,
+ currentCurrency: PropTypes.string.isRequired,
+ hideTooltip: PropTypes.bool,
+ styleOverride: PropTypes.object,
+ showFiat: PropTypes.bool,
+ ticker: PropTypes.string.isRequired,
+ value: PropTypes.string.isRequired,
+ style: PropTypes.object,
+ width: PropTypes.string,
+ needsParse: PropTypes.bool,
+ }
+
+ renderBalance (value) {
+ if (value === 'None') {
+ return value
+ }
+ if (value === '...') {
+ return value
+ }
+
+ const {
+ conversionRate,
+ shorten,
+ incoming,
+ currentCurrency,
+ hideTooltip,
+ styleOverride = {},
+ showFiat = true,
+ } = this.props
+ const { fontSize, color, fontFamily, lineHeight } = styleOverride
+
+ const { shortBalance, balance, label } = generateBalanceObject(value, shorten ? 1 : 3)
+ const balanceToRender = shorten ? shortBalance : balance
+
+ const [ethNumber, ethSuffix] = value.split(' ')
+ const containerProps = hideTooltip ? {} : {
+ position: 'bottom',
+ title: `${ethNumber} ${ethSuffix}`,
+ }
+
+ const TooltipComponent = hideTooltip ? 'div' : Tooltip
+
+ return (
+