import React from 'react'; import { StatusBar } from 'expo-status-bar'; import { ActivityIndicator, View } from 'react-native'; import { GestureHandlerRootView } from 'react-native-gesture-handler'; import { NavigationContainer } from '@react-navigation/native'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { AuthProvider, useAuth } from './contexts/AuthContext'; import { LoginScreen } from './app/login'; import { RegisterScreen } from './app/register'; import { HomeScreen } from './app/index'; import { UploadScreen } from './app/upload'; import { ScanScreen } from './app/scan'; import { SearchScreen } from './app/search'; import { BatchReviewScreen } from './app/batch-review'; import { PendingReviewScreen } from './app/pending-review'; import { FileDetailScreen } from './app/file-detail'; import { FileEditScreen } from './app/file-edit'; import { FolderScreen } from './app/folder'; import { OnboardingScreen } from './app/onboarding'; import { onboardingStorage } from './services/onboardingStorage'; const Stack = createNativeStackNavigator(); const queryClient = new QueryClient(); function AppNavigator() { const { user, isLoading } = useAuth(); if (isLoading) { return ( ); } const needsOnboarding = user && onboardingStorage.needsOnboarding(); return ( {user ? ( <> ) : ( <> )} ); } export default function App() { return ( ); }