aboutsummaryrefslogtreecommitdiffstats
path: root/mascara/src/app/first-time/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'mascara/src/app/first-time/index.js')
-rw-r--r--mascara/src/app/first-time/index.js54
1 files changed, 54 insertions, 0 deletions
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>
+ }
+
+}