Fix loading state index

This commit is contained in:
Maarten 2024-08-08 09:02:26 +02:00
parent 90519e506c
commit f3e6ed60ff

View file

@ -1,24 +1,44 @@
import {Redirect, Stack} from 'expo-router';
import React, {useEffect} from 'react';
import {Redirect, router, useRouter} from 'expo-router';
import {ThemedText} from '@/components/ThemedText';
import {ThemedView} from '@/components/ThemedView';
import {useToken} from '@/context/AppProvider';
import React, {useEffect} from 'react';
import {Request} from '@/services/request';
export default async function OnboardStartScreen() {
const {token, isLoading} = useToken();
if (isLoading) {
return (
export default function OnboardStartScreen() {
const { token, isLoading } = useToken();
const router = useRouter();
const loadingScreen = () => (
<ThemedView>
<ThemedText>Laden...</ThemedText>
</ThemedView>
);
useEffect(() => {
const fetchData = async () => {
const response = await Request.post('sessions/get', { token: token });
if (response.success) {
router.replace('/(tabs)');
} else {
router.replace('/(onboarding)/start');
}
};
if (!isLoading && token) {
fetchData();
}
}, [isLoading, token, router]);
if (isLoading) {
return loadingScreen();
}
if (!token) {
return <Redirect href="/(onboarding)/start"/>;
return <Redirect href="/(onboarding)/start" />;
}
return <Redirect href="/(tabs)"/>;
return loadingScreen();
}