aboutsummaryrefslogtreecommitdiff
path: root/src/routes/onboarding/OnboardingStackScreen.tsx
blob: 50fd52d64218bdf80c885e1e9fa7f3b7e1219085 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import {StackCardInterpolationProps} from '@react-navigation/stack';
import React from 'react';
import {
  BasicInfoOnboarding,
  InvitationCodeVerification,
  Login,
  PasswordReset,
  PasswordResetRequest,
  PasswordVerification,
  PhoneVerification,
  ProfileInfoOnboarding,
  WelcomeScreen,
} from '../../screens';
import {modalStyle} from '../main';
import {OnboardingStack} from './OnboardingStackNavigator';

const forFade = ({current}: StackCardInterpolationProps) => ({
  cardStyle: {
    opacity: current.progress,
  },
});

const Onboarding: React.FC = () => {
  return (
    <OnboardingStack.Navigator
      initialRouteName="Login"
      screenOptions={{headerShown: false}}>
      <OnboardingStack.Screen
        name="Login"
        component={Login}
        options={{
          gestureEnabled: false,
          cardStyleInterpolator: forFade,
          ...modalStyle,
        }}
      />
      <OnboardingStack.Screen
        name="PasswordResetRequest"
        component={PasswordResetRequest}
        options={{
          gestureEnabled: false,
        }}
      />
      <OnboardingStack.Screen name="WelcomeScreen" component={WelcomeScreen} />
      <OnboardingStack.Screen
        name="BasicInfoOnboarding"
        component={BasicInfoOnboarding}
      />
      <OnboardingStack.Screen
        name="PasswordReset"
        component={PasswordReset}
        options={{
          gestureEnabled: false,
          ...modalStyle,
        }}
      />
      <OnboardingStack.Screen
        name="PasswordVerification"
        component={PasswordVerification}
        options={{
          ...modalStyle,
        }}
      />
      <OnboardingStack.Screen
        name="PhoneVerification"
        component={PhoneVerification}
        options={{...modalStyle}}
      />
      <OnboardingStack.Screen
        name="ProfileInfoOnboarding"
        component={ProfileInfoOnboarding}
        options={{...modalStyle}}
      />
      <OnboardingStack.Screen
        name="InvitationCodeVerification"
        component={InvitationCodeVerification}
        options={{
          ...modalStyle,
        }}
      />
    </OnboardingStack.Navigator>
  );
};

export default Onboarding;