about summary refs log tree commit diff
path: root/src/view/screens/Onboard.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/view/screens/Onboard.tsx')
-rw-r--r--src/view/screens/Onboard.tsx33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/view/screens/Onboard.tsx b/src/view/screens/Onboard.tsx
new file mode 100644
index 000000000..0f36494e6
--- /dev/null
+++ b/src/view/screens/Onboard.tsx
@@ -0,0 +1,33 @@
+import React, {useEffect} from 'react'
+import {View} from 'react-native'
+import {observer} from 'mobx-react-lite'
+import {FeatureExplainer} from '../com/onboard/FeatureExplainer'
+import {Follows} from '../com/onboard/Follows'
+import {OnboardStage, OnboardStageOrder} from '../../state/models/onboard'
+import {useStores} from '../../state'
+
+export const Onboard = observer(() => {
+  const store = useStores()
+
+  useEffect(() => {
+    // sanity check - bounce out of onboarding if the stage is wrong somehow
+    if (!OnboardStageOrder.includes(store.onboard.stage)) {
+      store.onboard.stop()
+    }
+  }, [store.onboard.stage])
+
+  let Com
+  if (store.onboard.stage === OnboardStage.Explainers) {
+    Com = FeatureExplainer
+  } else if (store.onboard.stage === OnboardStage.Follows) {
+    Com = Follows
+  } else {
+    Com = View
+  }
+
+  return (
+    <View style={{flex: 1}}>
+      <Com />
+    </View>
+  )
+})