diff options
Merge pull request #562 from MetaMask/ethBalance
Fix issue where a given balance does not need to be parsed
-rw-r--r-- | test/unit/util_test.js | 7 | ||||
-rw-r--r-- | ui/app/components/eth-balance.js | 11 | ||||
-rw-r--r-- | ui/app/components/shift-list-item.js | 2 | ||||
-rw-r--r-- | ui/app/util.js | 4 |
4 files changed, 16 insertions, 8 deletions
diff --git a/test/unit/util_test.js b/test/unit/util_test.js index 9a3963ac1..45e545e8e 100644 --- a/test/unit/util_test.js +++ b/test/unit/util_test.js @@ -156,7 +156,12 @@ describe('util', function() { var result = util.formatBalance(input) assert.equal(result, '0.00032 ETH') }) - + it('should not parse the balance and return value with 2 decimal points with ETH at the end', function() { + var value = '1.2456789' + var needsParse = false + var result = util.formatBalance(value, 2, needsParse) + assert.equal(result, '1.24 ETH') + }) }) describe('normalizing values', function() { diff --git a/ui/app/components/eth-balance.js b/ui/app/components/eth-balance.js index bb2dc9010..498873faa 100644 --- a/ui/app/components/eth-balance.js +++ b/ui/app/components/eth-balance.js @@ -15,8 +15,8 @@ function EthBalanceComponent () { EthBalanceComponent.prototype.render = function () { var state = this.props var style = state.style - - const value = formatBalance(state.value, 6) + var needsParse = this.props.needsParse !== undefined ? this.props.needsParse : true + const value = formatBalance(state.value, 6, needsParse) var width = state.width return ( @@ -29,12 +29,13 @@ EthBalanceComponent.prototype.render = function () { display: 'inline', width: width, }, - }, this.renderBalance(value, state)), + }, this.renderBalance(value)), ]) ) } -EthBalanceComponent.prototype.renderBalance = function (value, state) { +EthBalanceComponent.prototype.renderBalance = function (value) { + var state = this.props if (value === 'None') return value var balanceObj = generateBalanceObject(value, state.shorten ? 1 : 3) var balance @@ -68,7 +69,7 @@ EthBalanceComponent.prototype.renderBalance = function (value, state) { width: '100%', textAlign: 'right', }, - }, balance), + }, this.props.incoming ? `+${balance}` : balance), h('div', { style: { color: ' #AEAEAE', diff --git a/ui/app/components/shift-list-item.js b/ui/app/components/shift-list-item.js index 9d5340447..11e11cd37 100644 --- a/ui/app/components/shift-list-item.js +++ b/ui/app/components/shift-list-item.js @@ -99,6 +99,8 @@ ShiftListItem.prototype.renderUtilComponents = function () { value: `${props.response.outgoingCoin}`, width: '55px', shorten: true, + needsParse: false, + incoming: true, style: { fontSize: '15px', color: '#01888C', diff --git a/ui/app/util.js b/ui/app/util.js index 2d1c753dd..e4b77e2bc 100644 --- a/ui/app/util.js +++ b/ui/app/util.js @@ -92,8 +92,8 @@ function parseBalance (balance) { // Takes wei hex, returns an object with three properties. // Its "formatted" property is what we generally use to render values. -function formatBalance (balance, decimalsToKeep) { - var parsed = parseBalance(balance) +function formatBalance (balance, decimalsToKeep, needsParse = true) { + var parsed = needsParse ? parseBalance(balance) : balance.split('.') var beforeDecimal = parsed[0] var afterDecimal = parsed[1] var formatted = 'None' |