-
Notifications
You must be signed in to change notification settings - Fork 1
/
App.tsx
56 lines (51 loc) · 1.59 KB
/
App.tsx
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
import { DefaultTheme, NavigationContainer } from '@react-navigation/native'
import {
createNativeStackNavigator,
NativeStackNavigationOptions,
} from '@react-navigation/native-stack'
import { MyHealthModule } from './src/modules'
import Calculators from './src/modules/calculators/Calculators'
import Codes from './src/modules/codes/Codes'
import Diary from './src/modules/diary/Diary'
import Remedies from './src/modules/remedies/Remedies'
import Home from './src/pages/Home'
import { RouteParams } from './src/routeParams'
const Stack = createNativeStackNavigator<RouteParams>()
export default function App() {
const components: Record<string, any> = {
[MyHealthModule.Calculators]: Calculators,
[MyHealthModule.Codes]: Codes,
[MyHealthModule.Diary]: Diary,
[MyHealthModule.Remedies]: Remedies,
}
const TITLE_STYLES: Partial<NativeStackNavigationOptions> = {
headerTitleAlign: 'center',
}
return (
<NavigationContainer
theme={{
...DefaultTheme,
colors: {
...DefaultTheme.colors,
background: 'white',
},
}}
>
<Stack.Navigator initialRouteName="Home">
<Stack.Screen
name="Home"
component={Home}
options={{ ...TITLE_STYLES, title: 'My Health' }}
></Stack.Screen>
{Object.values(MyHealthModule).map((module) => (
<Stack.Screen
key={module}
name={module}
component={components[module]}
options={TITLE_STYLES}
></Stack.Screen>
))}
</Stack.Navigator>
</NavigationContainer>
)
}