diff options
author | Dan Finlay <542863+danfinlay@users.noreply.github.com> | 2018-07-24 02:32:56 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-24 02:32:56 +0800 |
commit | 239f5110e990e78f84224152c7dad9cb84f0c756 (patch) | |
tree | 7e01842f96bc218995c6e3c17ceacd79545bb355 | |
parent | 2e6ce16107e07657d1b17cd040ede165147ddb1b (diff) | |
parent | 5ebefc0e502696098599a4a17f185a88aaeed628 (diff) | |
download | tangerine-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
-rw-r--r-- | app/scripts/controllers/detect-tokens.js | 2 | ||||
-rw-r--r-- | app/scripts/metamask-controller.js | 2 | ||||
-rw-r--r-- | ui/app/components/alert/index.js | 52 |
3 files changed, 48 insertions, 8 deletions
diff --git a/app/scripts/controllers/detect-tokens.js b/app/scripts/controllers/detect-tokens.js index b30dc00f1..195ec918a 100644 --- a/app/scripts/controllers/detect-tokens.js +++ b/app/scripts/controllers/detect-tokens.js @@ -117,7 +117,7 @@ class DetectTokensController { } }) } - + /** * Internal isActive state * @type {Object} diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 3b303a95c..bcc7075c2 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -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. 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 } } |