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 {ThemedText} from '@/components/ThemedText';
import {ThemedView} from '@/components/ThemedView'; import {ThemedView} from '@/components/ThemedView';
import {useToken} from '@/context/AppProvider'; 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) { export default function OnboardStartScreen() {
return ( const { token, isLoading } = useToken();
const router = useRouter();
const loadingScreen = () => (
<ThemedView> <ThemedView>
<ThemedText>Laden...</ThemedText> <ThemedText>Laden...</ThemedText>
</ThemedView> </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) { if (!token) {
return <Redirect href="/(onboarding)/start"/>; return <Redirect href="/(onboarding)/start" />;
} }
return <Redirect href="/(tabs)"/>; return loadingScreen();
} }