aboutsummaryrefslogtreecommitdiff
path: root/src/screens/onboarding/BasicInfoOnboarding.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/screens/onboarding/BasicInfoOnboarding.tsx')
-rw-r--r--src/screens/onboarding/BasicInfoOnboarding.tsx29
1 files changed, 26 insertions, 3 deletions
diff --git a/src/screens/onboarding/BasicInfoOnboarding.tsx b/src/screens/onboarding/BasicInfoOnboarding.tsx
index 8ddb74e1..2bfe449c 100644
--- a/src/screens/onboarding/BasicInfoOnboarding.tsx
+++ b/src/screens/onboarding/BasicInfoOnboarding.tsx
@@ -2,6 +2,7 @@ import AsyncStorage from '@react-native-community/async-storage';
import {useNavigation} from '@react-navigation/core';
import {RouteProp} from '@react-navigation/native';
import {StackNavigationProp} from '@react-navigation/stack';
+import { invalid } from 'moment';
import React, {useEffect, useState} from 'react';
import {
Alert,
@@ -38,7 +39,7 @@ import {
ERROR_T_AND_C_NOT_ACCEPTED,
} from '../../constants/strings';
import {OnboardingStackParams} from '../../routes';
-import {sendOtpStatusCode, sendRegister} from '../../services';
+import {sendOtpStatusCode, sendRegister, verifyExistingInformation} from '../../services';
import {BackgroundGradientType} from '../../types';
import {HeaderHeight, SCREEN_HEIGHT, SCREEN_WIDTH} from '../../utils';
@@ -63,12 +64,18 @@ const BasicInfoOnboarding: React.FC<BasicInfoOnboardingProps> = ({route}) => {
const [currentStep, setCurrentStep] = useState(0);
const [tcAccepted, setTCAccepted] = useState(false);
const [passVisibility, setPassVisibility] = useState(false);
+ const [invalidWithError, setInvalidWithError] = useState("Please enter a valid ")
const [autoCapitalize, setAutoCap] = useState<
'none' | 'sentences' | 'words' | 'characters' | undefined
>('none');
const [fadeValue, setFadeValue] = useState<Animated.Value<number>>(
new Animated.Value(0),
);
+ useEffect(() => {
+ console.log(invalidWithError)
+ setValid(false);
+ }, [invalidWithError])
+
const fadeButtonValue = useValue<number>(0);
const [form, setForm] = useState({
fname: '',
@@ -91,6 +98,7 @@ const BasicInfoOnboarding: React.FC<BasicInfoOnboardingProps> = ({route}) => {
}).start();
};
+
useEffect(() => {
const fade = async () => {
Animated.timing(fadeValue, {
@@ -284,9 +292,24 @@ const BasicInfoOnboarding: React.FC<BasicInfoOnboardingProps> = ({route}) => {
}
};
const step = formSteps[currentStep];
- const advance = () => {
+ useEffect(() => {
+ if(step.placeholder!== 'School Email') {
+ setInvalidWithError("Please enter a valid " + step.placeholder.toLowerCase())
+ }
+ }, [step])
+ const advance = async() => {
setAttemptedSubmit(true);
if (valid) {
+ if (step.placeholder === 'School Email') {
+ const verifiedInfo = await verifyExistingInformation(form.email, undefined);
+ if(!verifiedInfo) {
+ console.log("here");
+ setInvalidWithError("Email is taken")
+ return;
+ }
+ }
+ console.log('shouldnt happen')
+ console.log("stepL: " + step.placeholder)
setCurrentStep(currentStep + 1);
setAttemptedSubmit(false);
setValid(false);
@@ -436,7 +459,7 @@ const BasicInfoOnboarding: React.FC<BasicInfoOnboardingProps> = ({route}) => {
warning: styles.passWarning,
}}
valid={valid}
- invalidWarning={`Please enter a valid ${step.placeholder.toLowerCase()}`}
+ invalidWarning={invalidWithError}
attemptedSubmit={attemptedSubmit}
/>
<Animated.View style={{opacity: fadeButtonValue}}>