import React, {Fragment, useEffect, useState} from 'react';
import useUser from '@contexts/user';
import {createNativeStackNavigator} from '@react-navigation/native-stack';
import OnboardingScreen from '@screens/onboarding';
import AppIntroduction from '@screens/app-introduction';
import LoginScreen from '@screens/login';
import OtpScreen from '@screens/otp';
import {skipAppIntroduction} from '@services/AppIntroduction';
import {ONBOARDING, LOGIN, OTP} from '@constants/navigation/onboarding';
import APP_INTRODUCTION from '@constants/navigation/app-introduction';
const {Navigator, Screen} = createNativeStackNavigator();
const OnboardingStack = () => {
const [state, setState] = useState<{
isReturningUser: boolean | undefined;
skipAppIntroduction: boolean | undefined;
}>();
const {user, isReturningUser} = useUser();
useEffect(() => {
let skipAppIntroductionScreen;
(async () => {
const value = await isReturningUser();
skipAppIntroductionScreen = await skipAppIntroduction();
setState({
...state,
skipAppIntroduction: skipAppIntroductionScreen,
isReturningUser: value,
});
})();
return () => {
skipAppIntroductionScreen = false;
};
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [user?.accessToken]);
if (
state?.isReturningUser === undefined &&
state?.skipAppIntroduction === undefined
) {
return ;
}
return (
);
};
export default OnboardingStack;