diff options
author | Dan Finlay <dan@danfinlay.com> | 2017-07-21 03:38:38 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2017-07-21 03:38:38 +0800 |
commit | 86d367957fe8ac04462f716fe0ba2bfa4e5ff3f6 (patch) | |
tree | b4a6805e5e2a4de48c880d80f4b87d1f3b560a18 /ui/app/components/loading.js | |
parent | 199587383b022a17d56adcb56d6a99ceba71fec7 (diff) | |
download | tangerine-wallet-browser-86d367957fe8ac04462f716fe0ba2bfa4e5ff3f6.tar.gz tangerine-wallet-browser-86d367957fe8ac04462f716fe0ba2bfa4e5ff3f6.tar.zst tangerine-wallet-browser-86d367957fe8ac04462f716fe0ba2bfa4e5ff3f6.zip |
Move responsive ui into its own folder for easier merges
Diffstat (limited to 'ui/app/components/loading.js')
-rw-r--r-- | ui/app/components/loading.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/ui/app/components/loading.js b/ui/app/components/loading.js new file mode 100644 index 000000000..87d6f5d20 --- /dev/null +++ b/ui/app/components/loading.js @@ -0,0 +1,53 @@ +const inherits = require('util').inherits +const Component = require('react').Component +const h = require('react-hyperscript') +const ReactCSSTransitionGroup = require('react-addons-css-transition-group') + + +inherits(LoadingIndicator, Component) +module.exports = LoadingIndicator + +function LoadingIndicator () { + Component.call(this) +} + +LoadingIndicator.prototype.render = function () { + const { isLoading, loadingMessage } = this.props + + return ( + h(ReactCSSTransitionGroup, { + className: 'css-transition-group', + transitionName: 'loader', + transitionEnterTimeout: 150, + transitionLeaveTimeout: 150, + }, [ + + isLoading ? h('div', { + style: { + zIndex: 10, + position: 'absolute', + flexDirection: 'column', + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + height: '100%', + width: '100%', + background: 'rgba(255, 255, 255, 0.8)', + }, + }, [ + h('img', { + src: 'images/loading.svg', + }), + + h('br'), + + showMessageIfAny(loadingMessage), + ]) : null, + ]) + ) +} + +function showMessageIfAny (loadingMessage) { + if (!loadingMessage) return null + return h('span', loadingMessage) +} |