import React, { useEffect } from 'react';
import { Stack, useRouter, useSegments } from 'expo-router';
import { StatusBar } from 'expo-status-bar';
import { useAuthStore } from '@store/authStore';
/**
* Root layout do expo-router.
* Carrega a sessão armazenada e controla o fluxo auth vs app.
*/
export default function RootLayout(): React.ReactElement | null {
const { loadStoredSession, isLoading, isAuthenticated } = useAuthStore();
const router = useRouter();
const segments = useSegments();
useEffect(() => {
loadStoredSession();
}, [loadStoredSession]);
useEffect(() => {
if (isLoading) return;
const inAuthGroup = segments[0] === '(auth)';
const inPublicRoute = segments[0] === 'verify-email' || segments[0] === 'filament';
if (isAuthenticated && inAuthGroup) {
router.replace('/(app)/(tabs)/home');
} else if (!isAuthenticated && !inAuthGroup && !inPublicRoute) {
router.replace('/(auth)/login');
}
}, [isAuthenticated, isLoading, segments, router]);
if (isLoading) return null;
return (
<>
>
);
}