aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components
diff options
context:
space:
mode:
authorDan Finlay <somniac@me.com>2016-08-17 06:32:06 +0800
committerGitHub <noreply@github.com>2016-08-17 06:32:06 +0800
commit90d6bec3ed51ba4b2d4696132642a4d97712dec9 (patch)
treeae8f2a3a805e0ac24ed3d1058138cf1b3c25b763 /ui/app/components
parentf1986d7a3757aea50fba798b295397e69739b891 (diff)
parent666f3cd66ce56013e5688d514e3c1fc3ec8a6ac4 (diff)
downloadtangerine-wallet-browser-90d6bec3ed51ba4b2d4696132642a4d97712dec9.tar.gz
tangerine-wallet-browser-90d6bec3ed51ba4b2d4696132642a4d97712dec9.tar.zst
tangerine-wallet-browser-90d6bec3ed51ba4b2d4696132642a4d97712dec9.zip
Merge pull request #520 from MetaMask/usd-conversion
Conversion implementation
Diffstat (limited to 'ui/app/components')
-rw-r--r--ui/app/components/account-eth-balance.js139
-rw-r--r--ui/app/components/eth-balance.js6
2 files changed, 144 insertions, 1 deletions
diff --git a/ui/app/components/account-eth-balance.js b/ui/app/components/account-eth-balance.js
new file mode 100644
index 000000000..6cdb33b73
--- /dev/null
+++ b/ui/app/components/account-eth-balance.js
@@ -0,0 +1,139 @@
+const Component = require('react').Component
+const h = require('react-hyperscript')
+const inherits = require('util').inherits
+const connect = require('react-redux').connect
+const formatBalance = require('../util').formatBalance
+const generateBalanceObject = require('../util').generateBalanceObject
+const Tooltip = require('./tooltip.js')
+
+module.exports = connect(mapStateToProps)(EthBalanceComponent)
+
+function mapStateToProps (state) {
+ return {
+ conversionRate: state.metamask.conversionRate,
+ conversionDate: state.metamask.conversionDate,
+ currentFiat: state.metamask.currentFiat,
+ }
+}
+
+inherits(EthBalanceComponent, Component)
+function EthBalanceComponent () {
+ Component.call(this)
+}
+
+EthBalanceComponent.prototype.render = function () {
+ var state = this.props
+ var style = state.style
+
+ const value = formatBalance(state.value, 6)
+ var width = state.width
+
+ return (
+
+ h('.ether-balance', {
+ style: style,
+ }, [
+ h('.ether-balance-amount', {
+ style: {
+ display: 'inline',
+ width: width,
+ },
+ }, this.renderBalance(value, state)),
+ ])
+
+ )
+}
+EthBalanceComponent.prototype.renderBalance = function (value, state) {
+ if (value === 'None') return value
+ var balanceObj = generateBalanceObject(value, state.shorten ? 1 : 3)
+ var balance, fiatNumber
+ var splitBalance = value.split(' ')
+ var ethNumber = splitBalance[0]
+ var ethSuffix = splitBalance[1]
+
+
+ if (state.conversionRate !== 0) {
+ fiatNumber = (Number(splitBalance[0]) * state.conversionRate).toFixed(2)
+ } else {
+ fiatNumber = 'N/A'
+ }
+
+ var fiatSuffix = state.currentFiat
+
+ if (state.shorten) {
+ balance = balanceObj.shortBalance
+ } else {
+ balance = balanceObj.balance
+ }
+
+ var label = balanceObj.label
+
+ return (
+ h('.flex-column', [
+ h(Tooltip, {
+ position: 'bottom',
+ title: `${ethNumber} ${ethSuffix}`,
+ }, [
+ h('.flex-row', {
+ style: {
+ alignItems: 'flex-end',
+ lineHeight: '13px',
+ fontFamily: 'Montserrat Light',
+ textRendering: 'geometricPrecision',
+ marginBottom: '5px',
+ },
+ }, [
+ h('div', {
+ style: {
+ width: '100%',
+ textAlign: 'right',
+ },
+ }, balance),
+ h('div', {
+ style: {
+ color: '#AEAEAE',
+ marginLeft: '5px',
+ },
+ }, label),
+ ]),
+ ]),
+ h(Tooltip, {
+ position: 'bottom',
+ title: `${fiatNumber} ${fiatSuffix}`,
+ }, [
+ fiatDisplay(fiatNumber, fiatSuffix),
+ ]),
+ ])
+ )
+}
+
+function fiatDisplay (fiatNumber, fiatSuffix) {
+ if (fiatNumber !== 'N/A') {
+ return h('.flex-row', {
+ style: {
+ alignItems: 'flex-end',
+ lineHeight: '13px',
+ fontFamily: 'Montserrat Light',
+ textRendering: 'geometricPrecision',
+ },
+ }, [
+ h('div', {
+ style: {
+ width: '100%',
+ textAlign: 'right',
+ fontSize: '12px',
+ color: '#333333',
+ },
+ }, fiatNumber),
+ h('div', {
+ style: {
+ color: '#AEAEAE',
+ marginLeft: '5px',
+ fontSize: '12px',
+ },
+ }, fiatSuffix),
+ ])
+ } else {
+ return h('div')
+ }
+}
diff --git a/ui/app/components/eth-balance.js b/ui/app/components/eth-balance.js
index 612ef7779..6c324c947 100644
--- a/ui/app/components/eth-balance.js
+++ b/ui/app/components/eth-balance.js
@@ -4,6 +4,7 @@ const inherits = require('util').inherits
const formatBalance = require('../util').formatBalance
const generateBalanceObject = require('../util').generateBalanceObject
const Tooltip = require('./tooltip.js')
+
module.exports = EthBalanceComponent
inherits(EthBalanceComponent, Component)
@@ -37,6 +38,9 @@ EthBalanceComponent.prototype.renderBalance = function (value, state) {
if (value === 'None') return value
var balanceObj = generateBalanceObject(value, state.shorten ? 1 : 3)
var balance
+ var splitBalance = value.split(' ')
+ var ethNumber = splitBalance[0]
+ var ethSuffix = splitBalance[1]
if (state.shorten) {
balance = balanceObj.shortBalance
@@ -49,7 +53,7 @@ EthBalanceComponent.prototype.renderBalance = function (value, state) {
return (
h(Tooltip, {
position: 'bottom',
- title: value.split(' ')[0],
+ title: `${ethNumber} ${ethSuffix}`,
}, [
h('.flex-column', {
style: {