diff options
author | kumavis <aaron@kumavis.me> | 2016-05-19 04:41:08 +0800 |
---|---|---|
committer | kumavis <aaron@kumavis.me> | 2016-05-19 04:41:08 +0800 |
commit | 6ae0a90d7b9ee3bfca359c1291efe86c5142c7b5 (patch) | |
tree | 59c931ca7b791f9ee2d55133a9fd4db629327afe /ui/app/util.js | |
parent | 877648623e0b483d05291379b17d5a6646375b34 (diff) | |
download | tangerine-wallet-browser-6ae0a90d7b9ee3bfca359c1291efe86c5142c7b5.tar.gz tangerine-wallet-browser-6ae0a90d7b9ee3bfca359c1291efe86c5142c7b5.tar.zst tangerine-wallet-browser-6ae0a90d7b9ee3bfca359c1291efe86c5142c7b5.zip |
ui - redesign - ether amount component
Diffstat (limited to 'ui/app/util.js')
-rw-r--r-- | ui/app/util.js | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/ui/app/util.js b/ui/app/util.js index 5dbcffa7e..0f3f191aa 100644 --- a/ui/app/util.js +++ b/ui/app/util.js @@ -22,6 +22,7 @@ module.exports = { valuesFor: valuesFor, addressSummary: addressSummary, numericBalance: numericBalance, + parseBalance: parseBalance, formatBalance: formatBalance, dataSize: dataSize, readableDate: readableDate, @@ -65,16 +66,30 @@ function weiToEth(bn) { return eth } -var decimalsToKeep = 4 -function formatBalance(balance) { - if (!balance || balance === '0x0') return 'None' +// Takes hex, returns [beforeDecimal, afterDecimal] +function parseBalance(balance, decimalsToKeep) { + if (decimalsToKeep === undefined) decimalsToKeep = 4 + if (!balance || balance === '0x0') return ['0', ''] var wei = numericBalance(balance) var padded = wei.toString(10) var len = padded.length - var nonZeroIndex = padded.match(/[^0]/) && padded.match(/[^0]/).index + var match = padded.match(/[^0]/) + var nonZeroIndex = match && match.index var beforeDecimal = padded.substr(nonZeroIndex ? nonZeroIndex : 0, len - 18) || '0' var afterDecimal = padded.substr(len - 18, decimalsToKeep) - return `${beforeDecimal}.${afterDecimal} ETH` + return [beforeDecimal, afterDecimal] +} + +// Takes wei hex, returns "None" or "${formattedAmount} ETH" +function formatBalance(balance) { + var parsed = parseBalance(balance) + var beforeDecimal = parsed[0] + var afterDecimal = parsed[1] + if (beforeDecimal === '0' && afterDecimal === '') return 'None' + var result = beforeDecimal + if (afterDecimal) result += '.'+afterDecimal + result += ' ETH' + return result } function dataSize(data) { |