49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
import React from 'react';
|
|
import { StatusBar } from 'expo-status-bar';
|
|
import { NavigationContainer } from '@react-navigation/native';
|
|
import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
import { StyleSheet, View, ActivityIndicator } from 'react-native';
|
|
import TabNavigator from './src/navigation/TabNavigator';
|
|
import AuthNavigator from './src/navigation/AuthNavigator';
|
|
import { AuthProvider, useAuth } from './src/context/AuthContext';
|
|
import { colors } from './src/theme/colors';
|
|
|
|
function AppContent() {
|
|
const { user } = useAuth();
|
|
|
|
return (
|
|
<NavigationContainer>
|
|
<StatusBar style="auto" />
|
|
{user ? (
|
|
<TabNavigator />
|
|
) : (
|
|
<AuthNavigator />
|
|
)}
|
|
</NavigationContainer>
|
|
);
|
|
}
|
|
|
|
export default function App() {
|
|
return (
|
|
<GestureHandlerRootView style={styles.container}>
|
|
<AuthProvider>
|
|
<AppContent />
|
|
</AuthProvider>
|
|
</GestureHandlerRootView>
|
|
);
|
|
}
|
|
|
|
const styles = StyleSheet.create({
|
|
container: {
|
|
flex: 1,
|
|
backgroundColor: '#000',
|
|
},
|
|
loadingContainer: {
|
|
flex: 1,
|
|
justifyContent: 'center',
|
|
alignItems: 'center',
|
|
backgroundColor: colors.sentinel.background,
|
|
},
|
|
});
|
|
|