diff options
author | Chi Kei Chan <chikeichan@gmail.com> | 2017-12-08 01:54:37 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-08 01:54:37 +0800 |
commit | 41d281a52714ad432b115d94a272156d51cd7bad (patch) | |
tree | 36c1a9ad91600f48496157b45c9fa3019206467d /ui/app/select-app.js | |
parent | 7dba114feb428f7f2f78fee5611377b04bff5be6 (diff) | |
parent | e0d0e19c925224bddf56a4088fb9c402d995d79f (diff) | |
download | tangerine-wallet-browser-41d281a52714ad432b115d94a272156d51cd7bad.tar.gz tangerine-wallet-browser-41d281a52714ad432b115d94a272156d51cd7bad.tar.zst tangerine-wallet-browser-41d281a52714ad432b115d94a272156d51cd7bad.zip |
Merge branch 'NewUI-flat' into cb-372
Diffstat (limited to 'ui/app/select-app.js')
-rw-r--r-- | ui/app/select-app.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/ui/app/select-app.js b/ui/app/select-app.js new file mode 100644 index 000000000..ffa31b767 --- /dev/null +++ b/ui/app/select-app.js @@ -0,0 +1,47 @@ +const inherits = require('util').inherits +const Component = require('react').Component +const connect = require('react-redux').connect +const h = require('react-hyperscript') +const App = require('./app') +const OldApp = require('../../old-ui/app/app') +const { autoAddToBetaUI } = require('./selectors') +const { setFeatureFlag } = require('./actions') + +function mapStateToProps (state) { + return { + betaUI: state.metamask.featureFlags.betaUI, + autoAdd: autoAddToBetaUI(state), + isUnlocked: state.metamask.isUnlocked, + } +} + +function mapDispatchToProps (dispatch) { + return { + setFeatureFlagToBeta: () => dispatch(setFeatureFlag('betaUI', true)), + } +} +module.exports = connect(mapStateToProps, mapDispatchToProps)(SelectedApp) + +inherits(SelectedApp, Component) +function SelectedApp () { + this.state = { + autoAdd: false, + } + Component.call(this) +} + +SelectedApp.prototype.componentWillReceiveProps = function (nextProps) { + const { isUnlocked, setFeatureFlagToBeta } = this.props + + if (!isUnlocked && nextProps.isUnlocked && nextProps.autoAdd) { + this.setState({ autoAdd: nextProps.autoAdd }) + setFeatureFlagToBeta() + } +} + +SelectedApp.prototype.render = function () { + const { betaUI } = this.props + const { autoAdd } = this.state + const Selected = betaUI ? App : OldApp + return h(Selected) +} |