-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp.js
More file actions
111 lines (95 loc) · 3.97 KB
/
Copy pathApp.js
File metadata and controls
111 lines (95 loc) · 3.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
//import { createAppContainer, createSwitchNavigator } from 'react-navigation';
//import { createStackNavigator } from 'react-navigation-stack';
//import { createDrawerNavigator } from 'react-navigation-drawer';
import SearchScreen from './src/screens/SearchScreen';
import ResultShowScreen from './src/screens/ResultsShowScreen';
import SignupScreen from './src/screens/SignupScreen';
import SavedResultsScreen from './src/screens/SavedResultsScreen';
import RatedResultsScreen from './src/screens/RatedResultsScreen';
import { createBottomTabNavigator } from 'react-navigation-tabs';
import LoginScreen from './src/screens/LoginScreen';
import SettingsScreen from './src/screens/SettingsScreen';
import SearchScreenGoogle from './src/screens/SearchScreenGoogle';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { createDrawerNavigator } from '@react-navigation/drawer';
import { navigationRef } from './src/RootNavigation';
import { LogBox } from 'react-native'
import useGooglePlaces1 from './src/Components/useGooglePlaces1';
import RatingScreen from './src/screens/RatingScreen';
import DirectionScreen from './src/screens/DirectionScreen'
import FilterScreen from './src/screens/FilterScreen'
import {Provider} from "react-redux"
import {store} from "./store"
import LocationScreen from "./src/screens/LocationScreen"
//LogBox.ignoreLogs(["Warning: AsyncStorage has been extracted from react-native core and will be removed in a future release. It can now be installed and imported from '@react-native-async-storage/async-storage' instead of 'react-native'. See https://github.com/react-native-async-storage/async-storage"]);
LogBox.ignoreAllLogs();
//import * as Location from 'expo-location';
/*
const newNavigator = createSwitchNavigator({
loginFlow: createStackNavigator({
Login: LoginScreen,
Signup: SignupScreen
}),
mainFlow: createBottomTabNavigator({
restaurantFlow: createStackNavigator({
Search: SearchScreen,
Search1: SearchScreenGoogle,
ResultsShow: ResultShowScreen
}),
SavedResults: SavedResultsScreen,
RatedResults: RatedResultsScreen
},
{
drawerLockMode: 'unlocked'
})
})
export default createAppContainer(newNavigator);
*/
const Stack = createNativeStackNavigator();
const Drawer = createDrawerNavigator();
const AuthStack = createNativeStackNavigator();
const AppStack = createNativeStackNavigator();
const RestaurantFlow = () => {
return (
<Stack.Navigator>
<Stack.Screen component={SearchScreen} name="Search" options={{ headerShown: false }}/>
<Stack.Screen component={ResultShowScreen} name="Overview" />
<Stack.Screen component={RatingScreen} name="Rating"/>
<Stack.Screen component={DirectionScreen} name='Map'/>
<Stack.Screen component={FilterScreen} name = 'Filter'/>
<Stack.Screen component={LocationScreen} name = 'Change Location'/>
</Stack.Navigator>
)
}
const Main = () => {
return (
<Drawer.Navigator>
<Drawer.Screen name="Home" component={RestaurantFlow} options={{ headerShown: false }}/>
<Drawer.Screen name="Saved Restaurants" component={SavedResultsScreen} />
<Drawer.Screen name="Rated Restaurants" component={RatedResultsScreen} />
<Drawer.Screen name="Settings" component={SettingsScreen} />
</Drawer.Navigator>
)
};
const Auth = () => {
return (
<AuthStack.Navigator>
<AuthStack.Screen name="Login" component={LoginScreen} />
<AuthStack.Screen name="Sign up" component={SignupScreen} />
</AuthStack.Navigator>
)
}
const App = () => {
return (
<Provider store={store}>
<NavigationContainer ref={navigationRef}>
<AppStack.Navigator screenOptions={{ headerShown: false, gestureEnabled: false }}>
<AppStack.Screen name="Auth" component={Auth} />
<AppStack.Screen name="Main" component={Main} />
</AppStack.Navigator>
</NavigationContainer>
</Provider>
)
};
export default App;