feature/default_network_editable
parent
d8fff0fc8c
commit
e8ade42f2a
@ -0,0 +1,89 @@ |
|||||||
|
const Component = require('react').Component |
||||||
|
const h = require('react-hyperscript') |
||||||
|
const inherits = require('util').inherits |
||||||
|
|
||||||
|
const { formatBalance, generateBalanceObject } = require('../util') |
||||||
|
|
||||||
|
module.exports = BalanceComponent |
||||||
|
|
||||||
|
inherits(BalanceComponent, Component) |
||||||
|
function BalanceComponent () { |
||||||
|
Component.call(this) |
||||||
|
} |
||||||
|
|
||||||
|
BalanceComponent.prototype.render = function () { |
||||||
|
const props = this.props |
||||||
|
const { balanceValue } = props |
||||||
|
const needsParse = 'needsParse' in props ? props.needsParse : true |
||||||
|
const formattedBalance = balanceValue ? formatBalance(balanceValue, 6, needsParse) : '...' |
||||||
|
|
||||||
|
return h('div.balance-container', {}, [ |
||||||
|
// laptop: 50px 50px
|
||||||
|
// mobile: 100px 100px
|
||||||
|
|
||||||
|
// TODO: balance icon needs to be passed in
|
||||||
|
h('img.balance-icon', { |
||||||
|
src: '../images/eth_logo.svg', |
||||||
|
style: {}, |
||||||
|
}), |
||||||
|
|
||||||
|
this.renderBalance(formattedBalance), |
||||||
|
]) |
||||||
|
} |
||||||
|
|
||||||
|
BalanceComponent.prototype.renderBalance = function (formattedBalance) { |
||||||
|
const props = this.props |
||||||
|
const { shorten } = props |
||||||
|
const showFiat = 'showFiat' in props ? props.showFiat : true |
||||||
|
|
||||||
|
if (formattedBalance === 'None' || formattedBalance === '...') { |
||||||
|
return h('div.flex-column.balance-display', {}, [ |
||||||
|
h('div.token-amount', { |
||||||
|
style: {}, |
||||||
|
}, formattedBalance), |
||||||
|
]) |
||||||
|
} |
||||||
|
|
||||||
|
var balanceObj = generateBalanceObject(formattedBalance, shorten ? 1 : 3) |
||||||
|
var balanceValue = shorten ? balanceObj.shortBalance : balanceObj.balance |
||||||
|
|
||||||
|
var label = balanceObj.label |
||||||
|
|
||||||
|
// laptop: 5vw?
|
||||||
|
// phone: 50vw?
|
||||||
|
return h('div.flex-column.balance-display', {}, [ |
||||||
|
h('div.token-amount', { |
||||||
|
style: {}, |
||||||
|
}, `${balanceValue} ${label}`), |
||||||
|
|
||||||
|
showFiat ? this.renderFiatValue(formattedBalance) : null, |
||||||
|
]) |
||||||
|
} |
||||||
|
|
||||||
|
BalanceComponent.prototype.renderFiatValue = function (formattedBalance) { |
||||||
|
|
||||||
|
const props = this.props |
||||||
|
const { conversionRate, currentCurrency } = props |
||||||
|
|
||||||
|
if (formattedBalance === 'None') return formattedBalance |
||||||
|
var fiatDisplayNumber |
||||||
|
var splitBalance = formattedBalance.split(' ') |
||||||
|
|
||||||
|
if (conversionRate !== 0) { |
||||||
|
fiatDisplayNumber = (Number(splitBalance[0]) * conversionRate).toFixed(2) |
||||||
|
} else { |
||||||
|
fiatDisplayNumber = 'N/A' |
||||||
|
} |
||||||
|
|
||||||
|
return fiatDisplay(fiatDisplayNumber, currentCurrency) |
||||||
|
} |
||||||
|
|
||||||
|
function fiatDisplay (fiatDisplayNumber, fiatSuffix) { |
||||||
|
if (fiatDisplayNumber !== 'N/A') { |
||||||
|
return h('div.fiat-amount', { |
||||||
|
style: {}, |
||||||
|
}, `${fiatDisplayNumber} ${fiatSuffix}`) |
||||||
|
} else { |
||||||
|
return h('div') |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue