-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStackNavigator.js
More file actions
39 lines (35 loc) · 1.45 KB
/
StackNavigator.js
File metadata and controls
39 lines (35 loc) · 1.45 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
import React from "react"
import { createStackNavigator, TransitionPresets } from "@react-navigation/stack"
import HomeScreen from "./screens/HomeScreen"
import ChatScreen from "./screens/ChatScreen"
import LoginScreen from "./screens/LoginScreen"
import useAuth from "./hooks/useAuth"
import ModalScreen from "./screens/ModalScreen"
import MatchedScreen from "./screens/MatchedScreen"
import MessagesScreen from "./screens/MessagesScreen"
const Stack = createStackNavigator()
const StackNavigator = () => {
const { user, loading } = useAuth()
return (
<Stack.Navigator>
{user && !loading ? (
<>
<Stack.Group>
<Stack.Screen name="Home" component={HomeScreen} />
<Stack.Screen name="Chat" component={ChatScreen} />
<Stack.Screen name="Messages" component={MessagesScreen} />
</Stack.Group>
<Stack.Group screenOptions={{ presentation: "modal", gestureEnabled: true, ...TransitionPresets.ModalSlideFromBottomIOS }}>
<Stack.Screen name="Modal" component={ModalScreen} />
</Stack.Group>
<Stack.Group screenOptions={{ presentation: "transparentModal", gestureEnabled: true, ...TransitionPresets.ModalSlideFromBottomIOS }}>
<Stack.Screen name="Match" component={MatchedScreen} />
</Stack.Group>
</>
) : (
<Stack.Screen name="Login" component={LoginScreen} />
)}
</Stack.Navigator>
)
}
export default StackNavigator