1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-22 18:00:18 +01:00

Merge pull request #4848 from MetaMask/fix-alert-flash

Fix Banner flash on load
This commit is contained in:
Dan Finlay 2018-07-23 11:32:56 -07:00 committed by GitHub
commit 239f5110e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 48 additions and 8 deletions

View File

@ -117,7 +117,7 @@ class DetectTokensController {
}
})
}
/**
* Internal isActive state
* @type {Object}

View File

@ -1436,7 +1436,7 @@ module.exports = class MetamaskController extends EventEmitter {
}
/**
* A method for activating the retrieval of price data and auto detect tokens,
* A method for activating the retrieval of price data and auto detect tokens,
* which should only be fetched when the UI is visible.
* @private
* @param {boolean} active - True if price data should be getting fetched.

View File

@ -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
}
}