aboutsummaryrefslogtreecommitdiff
path: root/src/screens/onboarding
diff options
context:
space:
mode:
authorIvan Chen <ivan@tagg.id>2021-03-24 13:25:29 -0400
committerIvan Chen <ivan@tagg.id>2021-03-24 13:25:29 -0400
commitcc1b5a0be911dc05386a5114e966b7ee4eb21441 (patch)
tree90fad5a8ed92206b3026e8fd033b4d35360884f7 /src/screens/onboarding
parent96477697afe4dd92ce68f0f778decbca30d83e77 (diff)
parent33c107f7382955f6993d8415f08262f51060d178 (diff)
Merge branch 'master' into tma698-api-profile
# Conflicts: # src/components/search/SearchBar.tsx
Diffstat (limited to 'src/screens/onboarding')
-rw-r--r--src/screens/onboarding/InvitationCodeVerification.tsx14
-rw-r--r--src/screens/onboarding/Login.tsx1
-rw-r--r--src/screens/onboarding/OnboardingStepThree.tsx4
-rw-r--r--src/screens/onboarding/OnboardingStepTwo.tsx34
-rw-r--r--src/screens/onboarding/RegistrationTwo.tsx2
5 files changed, 30 insertions, 25 deletions
diff --git a/src/screens/onboarding/InvitationCodeVerification.tsx b/src/screens/onboarding/InvitationCodeVerification.tsx
index 41d17f29..7cd4b3bf 100644
--- a/src/screens/onboarding/InvitationCodeVerification.tsx
+++ b/src/screens/onboarding/InvitationCodeVerification.tsx
@@ -1,3 +1,4 @@
+import AsyncStorage from '@react-native-community/async-storage';
import {RouteProp} from '@react-navigation/native';
import {StackNavigationProp} from '@react-navigation/stack';
import React from 'react';
@@ -9,6 +10,7 @@ import {
useBlurOnFulfill,
useClearByFocusCell,
} from 'react-native-confirmation-code-field';
+import {useDispatch} from 'react-redux';
import {
ArrowButton,
Background,
@@ -25,7 +27,7 @@ import {
} from '../../constants/strings';
import {OnboardingStackParams} from '../../routes';
import {BackgroundGradientType} from '../../types';
-import {SCREEN_WIDTH} from '../../utils';
+import {SCREEN_WIDTH, userLogin} from '../../utils';
type InvitationCodeVerificationRouteProp = RouteProp<
OnboardingStackParams,
@@ -56,6 +58,7 @@ const InvitationCodeVerification: React.FC<InvitationCodeVerificationProps> = ({
value,
setValue,
});
+ const dispatch = useDispatch();
const handleInvitationCodeVerification = async () => {
if (value.length === 6) {
@@ -71,10 +74,11 @@ const InvitationCodeVerification: React.FC<InvitationCodeVerificationProps> = ({
);
if (verifyInviteCodeResponse.status === 200) {
- navigation.navigate('Login');
- setTimeout(() => {
- Alert.alert(SUCCESS_INVITATION_CODE);
- }, 500);
+ const userId = route.params.userId;
+ const username = route.params.username;
+ await AsyncStorage.setItem('userId', userId);
+ await AsyncStorage.setItem('username', username);
+ userLogin(dispatch, {userId, username});
} else {
Alert.alert(ERROR_INVALID_INVITATION_CODE);
}
diff --git a/src/screens/onboarding/Login.tsx b/src/screens/onboarding/Login.tsx
index cfa39dbd..6d9d3a97 100644
--- a/src/screens/onboarding/Login.tsx
+++ b/src/screens/onboarding/Login.tsx
@@ -170,6 +170,7 @@ const Login: React.FC<LoginProps> = ({navigation}: LoginProps) => {
} else if (statusCode === 200 && !data.isOnboarded) {
navigation.navigate('InvitationCodeVerification', {
userId: data.UserID,
+ username: username,
});
setTimeout(() => {
Alert.alert(ERROR_NOT_ONBOARDED);
diff --git a/src/screens/onboarding/OnboardingStepThree.tsx b/src/screens/onboarding/OnboardingStepThree.tsx
index 64a2a2f7..f22d720f 100644
--- a/src/screens/onboarding/OnboardingStepThree.tsx
+++ b/src/screens/onboarding/OnboardingStepThree.tsx
@@ -57,7 +57,7 @@ const OnboardingStepThree: React.FC<OnboardingStepThreeProps> = ({
route,
navigation,
}) => {
- const {userId} = route.params;
+ const {userId, username} = route.params;
let emptyDate: string | undefined;
const [form, setForm] = React.useState({
smallPic: '',
@@ -224,12 +224,12 @@ const OnboardingStepThree: React.FC<OnboardingStepThreeProps> = ({
},
body: request,
});
- console.log(route.params.userId);
let statusCode = response.status;
let data = await response.json();
if (statusCode === 200) {
navigation.navigate('InvitationCodeVerification', {
userId: route.params.userId,
+ username: username,
});
} else if (statusCode === 400) {
Alert.alert(
diff --git a/src/screens/onboarding/OnboardingStepTwo.tsx b/src/screens/onboarding/OnboardingStepTwo.tsx
index 93342c3f..e79e1886 100644
--- a/src/screens/onboarding/OnboardingStepTwo.tsx
+++ b/src/screens/onboarding/OnboardingStepTwo.tsx
@@ -245,23 +245,6 @@ const OnboardingStepTwo: React.FC<OnboardingStepTwoProps> = ({
<Text style={styles.formHeader}>SIGN UP</Text>
</View>
<TaggInput
- accessibilityHint="Enter your email."
- accessibilityLabel="Email input field."
- placeholder="Email"
- autoCompleteType="email"
- textContentType="emailAddress"
- autoCapitalize="none"
- returnKeyType="next"
- keyboardType="email-address"
- onChangeText={handleEmailUpdate}
- blurOnSubmit={false}
- ref={emailRef}
- valid={form.isValidEmail}
- invalidWarning={'Please enter a valid email address.'}
- attemptedSubmit={form.attemptedSubmit}
- width={280}
- />
- <TaggInput
accessibilityHint="Enter a username."
accessibilityLabel="Username input field."
placeholder="Username"
@@ -281,6 +264,23 @@ const OnboardingStepTwo: React.FC<OnboardingStepTwoProps> = ({
width={280}
/>
<TaggInput
+ accessibilityHint="Enter your email."
+ accessibilityLabel="Email input field."
+ placeholder="School Email"
+ autoCompleteType="email"
+ textContentType="emailAddress"
+ autoCapitalize="none"
+ returnKeyType="next"
+ keyboardType="email-address"
+ onChangeText={handleEmailUpdate}
+ blurOnSubmit={false}
+ ref={emailRef}
+ valid={form.isValidEmail}
+ invalidWarning={'Please enter a valid email address.'}
+ attemptedSubmit={form.attemptedSubmit}
+ width={280}
+ />
+ <TaggInput
accessibilityHint="Enter a password."
accessibilityLabel="Password input field."
placeholder="Password"
diff --git a/src/screens/onboarding/RegistrationTwo.tsx b/src/screens/onboarding/RegistrationTwo.tsx
index 707e621a..6d7b2226 100644
--- a/src/screens/onboarding/RegistrationTwo.tsx
+++ b/src/screens/onboarding/RegistrationTwo.tsx
@@ -214,7 +214,7 @@ const RegistrationTwo: React.FC<RegistrationTwoProps> = ({
<TaggInput
accessibilityHint="Enter your email."
accessibilityLabel="Email input field."
- placeholder="Email"
+ placeholder="School Email"
autoCompleteType="email"
textContentType="emailAddress"
autoCapitalize="none"