diff options
author | Dan Finlay <542863+danfinlay@users.noreply.github.com> | 2018-08-28 06:02:07 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-28 06:02:07 +0800 |
commit | 4b17ec67ecd7c16b942fc49aedb8e53732adbb96 (patch) | |
tree | a75112b245f8ad7677cd2be425b13738e0e2f869 /ui/app/components/token-currency-display/token-currency-display.component.js | |
parent | 30e49b8545a33faf2f1d1451c9135c996a6816b0 (diff) | |
parent | 952edf695c167385e9d864c45bd889219c456e78 (diff) | |
download | tangerine-wallet-browser-4b17ec67ecd7c16b942fc49aedb8e53732adbb96.tar tangerine-wallet-browser-4b17ec67ecd7c16b942fc49aedb8e53732adbb96.tar.gz tangerine-wallet-browser-4b17ec67ecd7c16b942fc49aedb8e53732adbb96.tar.bz2 tangerine-wallet-browser-4b17ec67ecd7c16b942fc49aedb8e53732adbb96.tar.lz tangerine-wallet-browser-4b17ec67ecd7c16b942fc49aedb8e53732adbb96.tar.xz tangerine-wallet-browser-4b17ec67ecd7c16b942fc49aedb8e53732adbb96.tar.zst tangerine-wallet-browser-4b17ec67ecd7c16b942fc49aedb8e53732adbb96.zip |
Merge pull request #4919 from MetaMask/refactor-tx-list
Refactor and Redesign Transaction List
Diffstat (limited to 'ui/app/components/token-currency-display/token-currency-display.component.js')
-rw-r--r-- | ui/app/components/token-currency-display/token-currency-display.component.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/ui/app/components/token-currency-display/token-currency-display.component.js b/ui/app/components/token-currency-display/token-currency-display.component.js new file mode 100644 index 000000000..957aec376 --- /dev/null +++ b/ui/app/components/token-currency-display/token-currency-display.component.js @@ -0,0 +1,54 @@ +import React, { PureComponent } from 'react' +import PropTypes from 'prop-types' +import CurrencyDisplay from '../currency-display/currency-display.component' +import { getTokenData } from '../../helpers/transactions.util' +import { calcTokenAmount } from '../../token-util' + +export default class TokenCurrencyDisplay extends PureComponent { + static propTypes = { + transactionData: PropTypes.string, + token: PropTypes.object, + } + + state = { + displayValue: '', + } + + componentDidMount () { + this.setDisplayValue() + } + + componentDidUpdate (prevProps) { + const { transactionData } = this.props + const { transactionData: prevTransactionData } = prevProps + + if (transactionData !== prevTransactionData) { + this.setDisplayValue() + } + } + + setDisplayValue () { + const { transactionData: data, token } = this.props + const { decimals = '', symbol = '' } = token + const tokenData = getTokenData(data) + + let displayValue + + if (tokenData.params && tokenData.params.length === 2) { + const tokenValue = tokenData.params[1].value + const tokenAmount = calcTokenAmount(tokenValue, decimals) + displayValue = `${tokenAmount} ${symbol}` + } + + this.setState({ displayValue }) + } + + render () { + return ( + <CurrencyDisplay + {...this.props} + displayValue={this.state.displayValue} + /> + ) + } +} |