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;