From 0264ecaad77330b151f4bf4248b66f4659a67cce Mon Sep 17 00:00:00 2001 From: Jacky Chan Date: Fri, 18 Aug 2017 04:11:26 -0700 Subject: [PATCH 01/28] Adding CreatePasswordScreen --- .babelrc | 2 +- mascara/server/util.js | 2 +- .../app/first-time/create-password-screen.js | 13 +++++ mascara/src/app/first-time/index.js | 54 +++++++++++++++++++ ui/app/app.js | 24 +++++++++ ui/app/reducers/metamask.js | 2 + 6 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 mascara/src/app/first-time/create-password-screen.js create mode 100644 mascara/src/app/first-time/index.js diff --git a/.babelrc b/.babelrc index bca3364fc..307583ffd 100644 --- a/.babelrc +++ b/.babelrc @@ -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 ( +
+ +
+ ) + } + +} \ 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 + default: + return