-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp.tsx
More file actions
59 lines (54 loc) · 1.82 KB
/
Copy pathApp.tsx
File metadata and controls
59 lines (54 loc) · 1.82 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
import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { SafeAreaProvider } from 'react-native-safe-area-context';
import MainScreen from './src/screens/MainScreen';
import TagManagerScreen from './src/screens/TagManagerScreen';
import SettingsScreen from './src/screens/SettingsScreen';
import CustomTabBar from './src/components/CustomTabBar';
import { TodoModalProvider } from './src/context/TodoModalContext';
import { TodoDataProvider } from './src/context/TodoDataContext';
const Tab = createBottomTabNavigator();
const Stack = createNativeStackNavigator();
function MainStack() {
return (
<Stack.Navigator>
<Stack.Screen
name="MainHome"
component={MainScreen}
options={{ headerShown: false }}
/>
<Stack.Screen
name="TagManager"
component={TagManagerScreen}
options={({ route }) => ({
title: '태그 관리',
headerBackTitle: '',
gestureEnabled: true,
tabBarVisible: false,
headerShown: false,
})}
/>
</Stack.Navigator>
);
}
export default function App() {
return (
<SafeAreaProvider>
<TodoDataProvider>
<TodoModalProvider>
<NavigationContainer>
<Tab.Navigator
screenOptions={{ headerShown: false }}
tabBar={(props) => <CustomTabBar {...props} />}
>
<Tab.Screen name="Main" component={MainStack} />
<Tab.Screen name="Settings" component={SettingsScreen} />
</Tab.Navigator>
</NavigationContainer>
</TodoModalProvider>
</TodoDataProvider>
</SafeAreaProvider>
);
}