diff options
Diffstat (limited to 'ui/app')
-rw-r--r-- | ui/app/components/alert/index.js | 52 | ||||
-rw-r--r-- | ui/app/token-util.js | 5 |
2 files changed, 48 insertions, 9 deletions
diff --git a/ui/app/components/alert/index.js b/ui/app/components/alert/index.js index fc39d41e2..5620d847a 100644 --- a/ui/app/components/alert/index.js +++ b/ui/app/components/alert/index.js @@ -4,13 +4,53 @@ const h = require('react-hyperscript') class Alert extends Component { + constructor (props) { + super(props) + + this.state = { + visble: false, + msg: false, + className: '', + } + } + + componentWillReceiveProps (nextProps) { + if (!this.props.visible && nextProps.visible) { + this.animateIn(nextProps) + } else if (this.props.visible && !nextProps.visible) { + this.animateOut(nextProps) + } + } + + animateIn (props) { + this.setState({ + msg: props.msg, + visible: true, + className: '.visible', + }) + } + + animateOut (props) { + this.setState({ + msg: null, + className: '.hidden', + }) + + setTimeout(_ => { + this.setState({visible: false}) + }, 500) + + } + render () { - const className = `.global-alert${this.props.visible ? '.visible' : '.hidden'}` - return ( - h(`div${className}`, {}, - h('a.msg', {}, this.props.msg) - ) - ) + if (this.state.visible) { + return ( + h(`div.global-alert${this.state.className}`, {}, + h('a.msg', {}, this.state.msg) + ) + ) + } + return null } } diff --git a/ui/app/token-util.js b/ui/app/token-util.js index cd6a47dbc..0d4233766 100644 --- a/ui/app/token-util.js +++ b/ui/app/token-util.js @@ -1,5 +1,6 @@ const log = require('loglevel') const util = require('./util') +const BigNumber = require('bignumber.js') function tokenInfoGetter () { const tokens = {} @@ -43,9 +44,7 @@ async function getSymbolAndDecimals (tokenAddress, existingTokens = []) { function calcTokenAmount (value, decimals) { const multiplier = Math.pow(10, Number(decimals || 0)) - const amount = Number(value / multiplier) - - return amount + return new BigNumber(value).div(multiplier).toNumber() } |