about summary refs log tree commit diff
path: root/src/view/screens/Onboard.tsx
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2022-11-07 15:35:51 -0600
committerPaul Frazee <pfrazee@gmail.com>2022-11-07 15:35:51 -0600
commitd228a5f4f5d118f30129f3bafd676bfe0e80bf38 (patch)
treee292e9d3b1f7a027298308ef583a7d3b90b59157 /src/view/screens/Onboard.tsx
parentb4097e25d67739c0ab6bc5b5f6ce8ee062796458 (diff)
downloadvoidsky-d228a5f4f5d118f30129f3bafd676bfe0e80bf38.tar.zst
Add onboarding (WIP)
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>
+  )
+})