Untitled
unknown
plain_text
10 months ago
1.1 kB
4
Indexable
import { Stack, useRouter, useSegments } from 'expo-router';
import { useEffect } from 'react';
import AsyncStorage from '@react-native-async-storage/async-storage';
export default function RootLayout() {
const router = useRouter();
const segments = useSegments();
// Check if the user is authenticated
const checkAuth = async () => {
const token = await AsyncStorage.getItem('token');
const inAuthGroup = segments[0] === '(auth)';
if (!token && !inAuthGroup) {
// Redirect to login if not authenticated
router.replace('/login');
} else if (token && inAuthGroup) {
// Redirect to home if authenticated
router.replace('/home');
}
};
useEffect(() => {
checkAuth();
}, [segments]);
return (
<Stack>
<Stack.Screen name="index" options={{ headerShown: false }} />
<Stack.Screen name="login" options={{ headerShown: false }} />
<Stack.Screen name="signup" options={{ headerShown: false }} />
<Stack.Screen name="home" options={{ headerShown: false }} />
</Stack>
);
}Editor is loading...
Leave a Comment