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