-
Notifications
You must be signed in to change notification settings - Fork 0
/
App.tsx
35 lines (30 loc) · 1.01 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
import React from 'react';
import {useColorScheme} from 'react-native';
import {
NavigationContainer,
DefaultTheme,
DarkTheme,
} from '@react-navigation/native';
import {createNativeStackNavigator} from '@react-navigation/native-stack';
import Cities from './src/Cities';
import City from './src/City';
import {StackParamList} from './src/types';
import {WeatherContextProvider} from './src/WeatherContext';
const Stack = createNativeStackNavigator<StackParamList>();
const cityOptions = ({route}: {route: {params: {name: string}}}) => ({
title: route.params.name,
});
const App = () => {
const scheme = useColorScheme();
return (
<WeatherContextProvider>
<NavigationContainer theme={scheme === 'dark' ? DarkTheme : DefaultTheme}>
<Stack.Navigator>
<Stack.Screen name="Cities" component={Cities} />
<Stack.Screen name="City" component={City} options={cityOptions} />
</Stack.Navigator>
</NavigationContainer>
</WeatherContextProvider>
);
};
export default App;