aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorDan Finlay <542863+danfinlay@users.noreply.github.com>2018-07-24 02:32:56 +0800
committerGitHub <noreply@github.com>2018-07-24 02:32:56 +0800
commit239f5110e990e78f84224152c7dad9cb84f0c756 (patch)
tree7e01842f96bc218995c6e3c17ceacd79545bb355 /ui
parent2e6ce16107e07657d1b17cd040ede165147ddb1b (diff)
parent5ebefc0e502696098599a4a17f185a88aaeed628 (diff)
downloadtangerine-wallet-browser-239f5110e990e78f84224152c7dad9cb84f0c756.tar
tangerine-wallet-browser-239f5110e990e78f84224152c7dad9cb84f0c756.tar.gz
tangerine-wallet-browser-239f5110e990e78f84224152c7dad9cb84f0c756.tar.bz2
tangerine-wallet-browser-239f5110e990e78f84224152c7dad9cb84f0c756.tar.lz
tangerine-wallet-browser-239f5110e990e78f84224152c7dad9cb84f0c756.tar.xz
tangerine-wallet-browser-239f5110e990e78f84224152c7dad9cb84f0c756.tar.zst
tangerine-wallet-browser-239f5110e990e78f84224152c7dad9cb84f0c756.zip
Merge pull request #4848 from MetaMask/fix-alert-flash
Fix Banner flash on load
Diffstat (limited to 'ui')
-rw-r--r--ui/app/components/alert/index.js52
1 files changed, 46 insertions, 6 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
}
}