Repository navigation
Expand file tree
/
Copy pathApp.js
More file actions
45 lines (39 loc) · 1.5 KB
/
Copy pathApp.js
File metadata and controls
45 lines (39 loc) · 1.5 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
import React from 'react';
import {createAppContainer, createSwitchNavigator} from 'react-navigation';
import {createStackNavigator} from 'react-navigation-stack';
import {setNavigator} from './src/navigationRef';
import ChatsScreen from './src/screens/ChatsScreen';
import CreateChat from './src/screens/CreateChat';
import ChatDetail from './src/screens/ChatDetail';
import InitScreen from './src/screens/InitScreen';
import {Provider as DataProvider} from './src/contexts/DataContext';
import {Provider as ServerDataProvider} from './src/contexts/ServerDataContext';
import {Provider as ClientDataProvider} from './src/contexts/ClientDataContext';
import {Provider as OnlineProvider} from './src/contexts/OnlineClientContext';
import FlashMessage from "react-native-flash-message";
import CreateChatOnline from './src/screens/CreateChatOnline';
const mainFlow = createStackNavigator({
Chats: ChatsScreen,
Room: CreateChat,
OnlineRoom: CreateChatOnline,
ChatDetail,
},{
initialRouteName:'Chats'
});
const navigator = createSwitchNavigator({
Init: InitScreen,
mainFlow,
});
const App = createAppContainer(navigator);
export default (props) => {
return <DataProvider>
<ServerDataProvider>
<ClientDataProvider>
<OnlineProvider>
<App ref={(navigator) => { setNavigator(navigator)}}/>
<FlashMessage position="top" />
</OnlineProvider>
</ClientDataProvider>
</ServerDataProvider>
</DataProvider>
};