migrate mobile with new endpoints
This commit is contained in:
+23
-7
@@ -7,6 +7,7 @@ import { createNativeStackNavigator } from '@react-navigation/native-stack';
|
||||
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
||||
import { PersistQueryClientProvider } from '@tanstack/react-query-persist-client';
|
||||
import { AuthProvider, useAuth } from './contexts/AuthContext';
|
||||
import { DeviceProvider, useDevice } from './contexts/DeviceContext';
|
||||
import { LoginScreen } from './app/login';
|
||||
import { RegisterScreen } from './app/register';
|
||||
import { HomeScreen } from './app/index';
|
||||
@@ -39,9 +40,10 @@ const queryClient = new QueryClient({
|
||||
const persister = createMMKVPersister();
|
||||
|
||||
function AppNavigator() {
|
||||
const { user, isLoading } = useAuth();
|
||||
const { user, isLoading: authLoading } = useAuth();
|
||||
const { isLoading: deviceLoading } = useDevice();
|
||||
|
||||
if (isLoading) {
|
||||
if (authLoading || (user && deviceLoading)) {
|
||||
return (
|
||||
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
|
||||
<ActivityIndicator size="large" />
|
||||
@@ -53,7 +55,13 @@ function AppNavigator() {
|
||||
|
||||
return (
|
||||
<NavigationContainer>
|
||||
<Stack.Navigator initialRouteName={needsOnboarding ? 'Onboarding' : user ? 'Home' : 'Login'}>
|
||||
<Stack.Navigator
|
||||
initialRouteName={
|
||||
needsOnboarding ? 'Onboarding'
|
||||
: user ? 'Home'
|
||||
: 'Login'
|
||||
}
|
||||
>
|
||||
{user ? (
|
||||
<>
|
||||
<Stack.Screen
|
||||
@@ -94,6 +102,17 @@ function AppNavigator() {
|
||||
);
|
||||
}
|
||||
|
||||
function AppContent() {
|
||||
return (
|
||||
<AuthProvider>
|
||||
<DeviceProvider>
|
||||
<AppNavigator />
|
||||
<StatusBar style="auto" />
|
||||
</DeviceProvider>
|
||||
</AuthProvider>
|
||||
);
|
||||
}
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<GestureHandlerRootView style={{ flex: 1 }}>
|
||||
@@ -104,10 +123,7 @@ export default function App() {
|
||||
maxAge: 1000 * 60 * 60 * 24, // 24h
|
||||
}}
|
||||
>
|
||||
<AuthProvider>
|
||||
<AppNavigator />
|
||||
<StatusBar style="auto" />
|
||||
</AuthProvider>
|
||||
<AppContent />
|
||||
</PersistQueryClientProvider>
|
||||
</GestureHandlerRootView>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user