import React, { useEffect } from 'react'; import { Redirect, useRouter } from 'expo-router'; import { useTranslation } from 'react-i18next'; import { ThemedText } from '@/lib/components/ThemedText'; import { ThemedView } from '@/lib/components/ThemedView'; import { useToken } from '@/lib/context/AppProvider'; import { Request } from '@/lib/services/request'; import { store } from '@/lib/store/store'; import { setSession } from '@/lib/store/dataStore'; import '@/lib/localization/i18n'; export default function OnboardStartScreen() { const { token, isLoading } = useToken(); const { i18n } = useTranslation(); const router = useRouter(); const loadingScreen = () => ( Loading... ); useEffect( () => { const fetchData = async () => { const response = await Request.post( 'sessions/get', { token: token } ); if (response.success) { // Save to store store.dispatch(setSession(response.session)) // Set language i18n.changeLanguage(response.session.language); // @ts-ignore router.replace( '/(tabs)' ); } else { router.replace( '/(onboarding)/start' ); } }; if (!isLoading && token) { fetchData(); } }, [ isLoading, token, router ] ); if (isLoading) { return loadingScreen(); } if (!token) { return ; } return loadingScreen(); }