diff options
author | Esteban MIno <efmino@uc.cl> | 2018-08-29 02:20:30 +0800 |
---|---|---|
committer | Esteban MIno <efmino@uc.cl> | 2018-08-29 02:20:30 +0800 |
commit | e743f44150d4c09908d24945de5a281e15e8469d (patch) | |
tree | 76984504e65b06ae15633d721fedc7ddd5b0cca7 /ui/app/components/token-currency-display/token-currency-display.component.js | |
parent | 3106374cc31b66e5a0faadd657b4430e21aa48b2 (diff) | |
parent | 0259eb02140fec1db9861506a6ff7890911af652 (diff) | |
download | tangerine-wallet-browser-e743f44150d4c09908d24945de5a281e15e8469d.tar.gz tangerine-wallet-browser-e743f44150d4c09908d24945de5a281e15e8469d.tar.zst tangerine-wallet-browser-e743f44150d4c09908d24945de5a281e15e8469d.zip |
fix conflicts
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} + /> + ) + } +} |