1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import React, { useEffect } from 'react';
- import { useFonts } from 'expo-font';
- import * as SplashScreen from 'expo-splash-screen';
- import { createStackNavigator } from '@react-navigation/stack';
- import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
- import WelcomeScreen from './src/screens/WelcomeScreen';
- import LoginScreen from './src/screens/LoginScreen';
- import ResetPasswordScreen from './src/screens/ResetPasswordScreen';
- import ResetPasswordDeepScreen from './src/screens/ResetPasswordDeepScreen';
- import JoinUsScreen from './src/screens/RegisterScreen/JoinUs';
- import EditAccount from './src/screens/RegisterScreen/EditAccount';
- import { NAVIGATION_PAGES } from './src/types';
- import { storageGet } from './src/storage';
- const ScreenStack = createStackNavigator();
- const BottomTab = createBottomTabNavigator();
- SplashScreen.preventAutoHideAsync();
- const Route = () => {
- const [fontsLoaded] = useFonts({
- 'redhat-900': require('./assets/fonts/RedHatDisplay-Black-900.ttf'),
- 'redhat-700': require('./assets/fonts/RedHatDisplay-Bold-700.ttf'),
- 'redhat-600': require('./assets/fonts/RedHatDisplay-SemiBold-600.ttf')
- });
- useEffect(() => {
- const hideSplashScreen = async () => {
- if (fontsLoaded) {
- await SplashScreen.hideAsync();
- }
- };
- hideSplashScreen();
- }, [fontsLoaded]);
- if (!fontsLoaded) {
- return null;
- }
- const token = storageGet('token');
- return (
- <ScreenStack.Navigator
- screenOptions={{ headerShown: false }}
- initialRouteName={NAVIGATION_PAGES.WELCOME}
- >
- <ScreenStack.Screen name={NAVIGATION_PAGES.WELCOME} component={WelcomeScreen} />
- <ScreenStack.Screen name={NAVIGATION_PAGES.LOGIN} component={LoginScreen} />
- <ScreenStack.Screen name={NAVIGATION_PAGES.REGISTER} component={JoinUsScreen} />
- <ScreenStack.Screen name={NAVIGATION_PAGES.REGISTER_ACCOUNT_DATA} component={EditAccount} />
- <ScreenStack.Screen name={NAVIGATION_PAGES.RESET_PASSWORD} component={ResetPasswordScreen} />
- <ScreenStack.Screen
- name={NAVIGATION_PAGES.RESET_PASSWORD_DEEP}
- component={ResetPasswordDeepScreen}
- />
- <ScreenStack.Screen name={NAVIGATION_PAGES.IN_APP}>
- {() => (
- <BottomTab.Navigator
- screenOptions={() => ({
- headerShown: false
- })}
- >
- <BottomTab.Screen name={NAVIGATION_PAGES.LOCATION_TAB} component={WelcomeScreen} />
- <BottomTab.Screen name={NAVIGATION_PAGES.TRAVELS_TAB} component={WelcomeScreen} />
- <BottomTab.Screen name={NAVIGATION_PAGES.PROFILE_TAB} component={WelcomeScreen} />
- </BottomTab.Navigator>
- )}
- </ScreenStack.Screen>
- </ScreenStack.Navigator>
- );
- };
- export default Route;
|