77 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import 'react-native-gesture-handler';
 | |
| // ^ le bouge pas ca casse tout ^
 | |
| import {AppRegistry, Platform} from 'react-native';
 | |
| 
 | |
| import {useState} from 'react';
 | |
| import {NavigationContainer, DefaultTheme} from '@react-navigation/native';
 | |
| import {createNativeStackNavigator} from '@react-navigation/native-stack';
 | |
| import {Provider} from 'react-redux';
 | |
| import {store, persistor} from './src/redux/store';
 | |
| import {PaperProvider} from 'react-native-paper';
 | |
| import {ToastProvider} from 'react-native-toast-notifications';
 | |
| import AuthPage from './src/pages/Auth';
 | |
| import ClipPage from './src/pages/Clips';
 | |
| import IntroPage from './src/pages/Intro';
 | |
| import {StatusBar} from 'expo-status-bar';
 | |
| import {Material3Dracula, ReactNavigationDracula} from './src/themes';
 | |
| import {PixelRatio, useWindowDimensions} from 'react-native';
 | |
| import {SafeAreaProvider} from 'react-native-safe-area-context';
 | |
| const Stack = createNativeStackNavigator();
 | |
| import {PersistGate} from 'redux-persist/integration/react';
 | |
| 
 | |
| function App() {
 | |
|   const [token, setToken] = useState(store.getState().user.token);
 | |
|   const [username, setUsername] = useState('');
 | |
| 
 | |
|   const {height, width} = useWindowDimensions();
 | |
|   console.log(width);
 | |
|   console.log(PixelRatio.get());
 | |
| 
 | |
|   store.subscribe(() => {
 | |
|     let newToken = store.getState().user.token;
 | |
|     setToken(newToken);
 | |
|   });
 | |
| 
 | |
|   return (
 | |
|     <PaperProvider theme={Material3Dracula}>
 | |
|       <ToastProvider>
 | |
|         <Provider store={store}>
 | |
|           <PersistGate loading={null} persistor={persistor}>
 | |
|             <StatusBar style="light" />
 | |
|             <SafeAreaProvider>
 | |
|               <NavigationContainer theme={ReactNavigationDracula}>
 | |
|                 <Stack.Navigator>
 | |
|                   {token !== '' ? (
 | |
|                     <>
 | |
|                       <Stack.Screen
 | |
|                         name="Home"
 | |
|                         component={ClipPage}
 | |
|                         options={{headerShown: false}}
 | |
|                       />
 | |
|                     </>
 | |
|                   ) : (
 | |
|                     <>
 | |
|                       <Stack.Screen
 | |
|                         name="Intro"
 | |
|                         component={IntroPage}
 | |
|                         options={{headerShown: false}}
 | |
|                       />
 | |
|                       <Stack.Screen
 | |
|                         name="SignIn"
 | |
|                         component={AuthPage}
 | |
|                         options={{headerShown: false}}
 | |
|                       />
 | |
|                     </>
 | |
|                   )}
 | |
|                 </Stack.Navigator>
 | |
|               </NavigationContainer>
 | |
|             </SafeAreaProvider>
 | |
|           </PersistGate>
 | |
|         </Provider>
 | |
|       </ToastProvider>
 | |
|     </PaperProvider>
 | |
|   );
 | |
| }
 | |
| 
 | |
| export default App;
 |