diff options
author | Jacky Chan <jchan@uber.com> | 2017-08-18 19:11:26 +0800 |
---|---|---|
committer | Chi Kei Chan <chikeichan@gmail.com> | 2017-10-21 12:51:37 +0800 |
commit | 0264ecaad77330b151f4bf4248b66f4659a67cce (patch) | |
tree | 0d1a062177a9fff3e32ee89459c3c75aee530a1b | |
parent | 20cb6a76ddcad83645b8e67b31d0bce3c8cee116 (diff) | |
download | tangerine-wallet-browser-0264ecaad77330b151f4bf4248b66f4659a67cce.tar tangerine-wallet-browser-0264ecaad77330b151f4bf4248b66f4659a67cce.tar.gz tangerine-wallet-browser-0264ecaad77330b151f4bf4248b66f4659a67cce.tar.bz2 tangerine-wallet-browser-0264ecaad77330b151f4bf4248b66f4659a67cce.tar.lz tangerine-wallet-browser-0264ecaad77330b151f4bf4248b66f4659a67cce.tar.xz tangerine-wallet-browser-0264ecaad77330b151f4bf4248b66f4659a67cce.tar.zst tangerine-wallet-browser-0264ecaad77330b151f4bf4248b66f4659a67cce.zip |
Adding CreatePasswordScreen
-rw-r--r-- | .babelrc | 2 | ||||
-rw-r--r-- | mascara/server/util.js | 2 | ||||
-rw-r--r-- | mascara/src/app/first-time/create-password-screen.js | 13 | ||||
-rw-r--r-- | mascara/src/app/first-time/index.js | 54 | ||||
-rw-r--r-- | ui/app/app.js | 24 | ||||
-rw-r--r-- | ui/app/reducers/metamask.js | 2 |
6 files changed, 95 insertions, 2 deletions
@@ -1,4 +1,4 @@ { - "presets": ["es2015", "stage-0"], + "presets": ["es2015", "stage-0", "react"], "plugins": ["transform-runtime", "transform-async-to-generator"] } diff --git a/mascara/server/util.js b/mascara/server/util.js index 6ab41b729..af2daddb9 100644 --- a/mascara/server/util.js +++ b/mascara/server/util.js @@ -23,7 +23,7 @@ function createBundle (entryPoint) { cache: {}, packageCache: {}, plugin: [watchify], - }) + }).transform('babelify') bundler.on('update', bundle) bundle() diff --git a/mascara/src/app/first-time/create-password-screen.js b/mascara/src/app/first-time/create-password-screen.js new file mode 100644 index 000000000..afb1ad8f6 --- /dev/null +++ b/mascara/src/app/first-time/create-password-screen.js @@ -0,0 +1,13 @@ +import React, {Component, PropTypes} from 'react' + +export default class CreatePasswordScreen extends Component { + + render() { + return ( + <div> + + </div> + ) + } + +}
\ No newline at end of file diff --git a/mascara/src/app/first-time/index.js b/mascara/src/app/first-time/index.js new file mode 100644 index 000000000..a2cb8d71c --- /dev/null +++ b/mascara/src/app/first-time/index.js @@ -0,0 +1,54 @@ +import React, {Component, PropTypes} from 'react' +import CreatePasswordScreen from './create-password-screen' + +export default class FirstTimeFlow extends Component { + + static propTypes = { + screenType: PropTypes.string + }; + + static defaultProps = { + screenType: FirstTimeFlow.CREATE_PASSWORD + }; + + static SCREEN_TYPE = { + CREATE_PASSWORD: 'create_password', + UNIQUE_IMAGE: 'unique_image', + TERM_OF_USE: 'term_of_use', + BACK_UP_PHRASE: 'back_up_phrase', + CONFIRM_BACK_UP_PHRASE: 'confirm_back_up_phrase', + BUY_ETHER: 'buy_ether' + }; + + static getScreenType = ({isInitialized, noActiveNotices, seedWords}) => { + const {SCREEN_TYPE} = FirstTimeFlow + + if (!isInitialized) { + return SCREEN_TYPE.CREATE_PASSWORD + } + + if (!noActiveNotices) { + return SCREEN_TYPE.TERM_OF_USE + } + + if (seedWords) { + return SCREEN_TYPE.BACK_UP_PHRASE + } + }; + + renderScreen() { + const {SCREEN_TYPE} = FirstTimeFlow + + switch (this.props.screenType) { + case SCREEN_TYPE.CREATE_PASSWORD: + return <CreatePasswordScreen /> + default: + return <noscript /> + } + } + + render() { + return <div>{this.renderScreen()}</div> + } + +} diff --git a/ui/app/app.js b/ui/app/app.js index 613577913..57e3d3366 100644 --- a/ui/app/app.js +++ b/ui/app/app.js @@ -3,6 +3,8 @@ const Component = require('react').Component const connect = require('react-redux').connect const h = require('react-hyperscript') const actions = require('./actions') +// mascara +const MascaraFirstTime = require('../../mascara/src/app/first-time').default // init const InitializeMenuScreen = require('./first-time/init-menu') const NewKeyChainScreen = require('./new-keychain') @@ -43,6 +45,10 @@ function mapStateToProps (state) { accounts, address, keyrings, + isMascara, + isInitialized, + noActiveNotices, + seedWords } = state.metamask const selected = address || Object.keys(accounts)[0] @@ -56,6 +62,8 @@ function mapStateToProps (state) { currentView: state.appState.currentView, activeAddress: state.appState.activeAddress, transForward: state.appState.transForward, + isMascara: state.metamask.isMascara, + isOnboarding: Boolean(!noActiveNotices || seedWords || !isInitialized), seedWords: state.metamask.seedWords, unapprovedTxs: state.metamask.unapprovedTxs, unapprovedMsgs: state.metamask.unapprovedMsgs, @@ -123,6 +131,11 @@ App.prototype.renderAppBar = function () { const props = this.props const state = this.state || {} const isNetworkMenuOpen = state.isNetworkMenuOpen || false + const {isMascara, isOnboarding} = props + + if (isMascara && isOnboarding) { + return null + } return ( @@ -407,9 +420,20 @@ App.prototype.renderBackButton = function (style, justArrow = false) { ) } +App.prototype.renderMascaraFirstTime = function () { + return 'hi' +} + App.prototype.renderPrimary = function () { log.debug('rendering primary') var props = this.props + const {isMascara, isOnboarding} = props + + if (isMascara && isOnboarding) { + return h(MascaraFirstTime, { + screenType: MascaraFirstTime.getScreenType(props) + }) + } // notices if (!props.noActiveNotices) { diff --git a/ui/app/reducers/metamask.js b/ui/app/reducers/metamask.js index e0c416c2d..323539eef 100644 --- a/ui/app/reducers/metamask.js +++ b/ui/app/reducers/metamask.js @@ -1,5 +1,6 @@ const extend = require('xtend') const actions = require('../actions') +const MetamascaraPlatform = require('../../../app/scripts/platforms/window') module.exports = reduceMetamask @@ -10,6 +11,7 @@ function reduceMetamask (state, action) { var metamaskState = extend({ isInitialized: false, isUnlocked: false, + isMascara: window.platform instanceof MetamascaraPlatform, rpcTarget: 'https://rawtestrpc.metamask.io/', identities: {}, unapprovedTxs: {}, |