-
-
Notifications
You must be signed in to change notification settings - Fork 30
Expand file tree
/
Copy pathNavigator.tsx
More file actions
38 lines (36 loc) · 1.28 KB
/
Navigator.tsx
File metadata and controls
38 lines (36 loc) · 1.28 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
import * as React from "react";
import { BaseNavigationContainer } from '@react-navigation/core';
import { stackNavigatorFactory } from "react-nativescript-navigation";
import { MainStackParamList } from './NavigationParamList';
import { HomeScreen } from "./HomeScreen";
import { DetailsScreen } from "./DetailsScreen";
import { FlickService } from "../services";
const StackNavigator = stackNavigatorFactory();
export const mainStackNavigator = () => {
const flickTitle = (flickId) => FlickService.getFlickById(flickId).title;
return (
<BaseNavigationContainer>
<StackNavigator.Navigator
initialRouteName="Home"
screenOptions={{
headerShown: true
}}
>
<StackNavigator.Screen
name="Home"
options={{
headerTitle: "NativeFlix"
}}
component={HomeScreen}
/>
<StackNavigator.Screen
name="Details"
options={
({ route }) => ({ title: flickTitle((route.params as MainStackParamList['Details']).flickId) })
}
component={DetailsScreen}
/>
</StackNavigator.Navigator>
</BaseNavigationContainer>
)
};