268 lines
9.0 KiB
JavaScript
268 lines
9.0 KiB
JavaScript
|
/**
|
||
|
* Sample React Native App
|
||
|
* https://github.com/facebook/react-native
|
||
|
*
|
||
|
* @format
|
||
|
* @flow
|
||
|
*/
|
||
|
|
||
|
import React, { Component } from 'react';
|
||
|
import { Platform, StyleSheet, Text, View, YellowBox } from 'react-native';
|
||
|
import { createSwitchNavigator, createStackNavigator, createDrawerNavigator, createAppContainer, createBottomTabNavigator } from 'react-navigation';
|
||
|
import Connect from "./screens/login/Connect";
|
||
|
import SplashScreen from "./screens/splashscreen/SplashScreen";
|
||
|
import HelpMenu from "./screens/help/HelpMenu";
|
||
|
import Help from "./screens/help/Help";
|
||
|
import ForgottenPassword from "./screens/login/ForgottenPassword";
|
||
|
import TypeChoiser from "./screens/login/TypeChoiser";
|
||
|
import CreateUserStep2 from "./screens/login/createUserStep2";
|
||
|
import createAccount from "./screens/login/createAccount";
|
||
|
import UpdateInformations from "./screens/account/UpdateInformations";
|
||
|
import UserAccount from "./screens/account/UserAccount";
|
||
|
import ActivateAccount from "./screens/login/ActivateAccount";
|
||
|
import Notifications from "./screens/notifications/Notifications";
|
||
|
import About from "./screens/configurations/About";
|
||
|
import Configurations from "./screens/configurations/Configurations";
|
||
|
|
||
|
import History from './screens/history-request/History'
|
||
|
import OptionsMenu from "./screens/optionMenu/OptionsMenu";
|
||
|
import Home from "./screens/home/Home";
|
||
|
import HistoryItemDetails from "./screens/history-request/HistoryItemDetails";
|
||
|
import SuperViseurGroupeHome from "./screens/groupes/SuperViseurGroupeHome";
|
||
|
import HistoryRequester from "./screens/history-request/HistoryRequester";
|
||
|
import AddNetwork from "./screens/account/AddNetwork";
|
||
|
import MyHistory from "./screens/history-request/MyHistory";
|
||
|
import Icon from "react-native-vector-icons/FontAwesome5";
|
||
|
import { Appbar } from 'react-native-paper';
|
||
|
|
||
|
import IconWithBadge from "./screens/IconWithBadge"
|
||
|
import I18n from "react-native-i18n";
|
||
|
import Filter from './screens/home/Filter';
|
||
|
import { createMaterialBottomTabNavigator } from 'react-navigation-material-bottom-tabs';
|
||
|
import Networks from './screens/home/Networks';
|
||
|
const instructions = Platform.select({
|
||
|
ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
|
||
|
android:
|
||
|
'Double tap R on your keyboard to reload,\n' +
|
||
|
'Shake or press menu button for dev menu',
|
||
|
});
|
||
|
|
||
|
type Props = {};
|
||
|
const theme = require("./utils/theme")
|
||
|
class HomeScreen extends Component<Props> {
|
||
|
|
||
|
render() {
|
||
|
|
||
|
return (
|
||
|
<View style={styles.container}>
|
||
|
<Text style={styles.welcome}>Welcome to iLink World!</Text>
|
||
|
<Text style={styles.instructions}>To get started, edit App.js</Text>
|
||
|
<Text style={styles.instructions}>{instructions}</Text>
|
||
|
</View>
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
const AuthStack = createStackNavigator({
|
||
|
login: Connect,
|
||
|
helpMenu: HelpMenu,
|
||
|
help: Help,
|
||
|
forgottenpass: ForgottenPassword,
|
||
|
typeaccountcreate: TypeChoiser,
|
||
|
simpleusercreate: createAccount,
|
||
|
step2: CreateUserStep2,
|
||
|
activateaccout: ActivateAccount
|
||
|
|
||
|
}, {
|
||
|
headerMode: 'none'
|
||
|
})
|
||
|
const AppStack = createDrawerNavigator({
|
||
|
sta: createStackNavigator({
|
||
|
home: Home,
|
||
|
/* filtre:Filter,
|
||
|
network:Networks,*/
|
||
|
useraccount: {
|
||
|
screen: UserAccount,
|
||
|
navigationOptions: {
|
||
|
},
|
||
|
},
|
||
|
notificationview: Notifications,
|
||
|
configuration: Configurations,
|
||
|
about: About
|
||
|
|
||
|
})
|
||
|
}, { contentComponent: OptionsMenu, headerMode: 'none', contentOptions: { activeTintColor: theme.accent } })
|
||
|
const AppAgentStack = createDrawerNavigator({
|
||
|
sta: createStackNavigator({
|
||
|
home: Home,
|
||
|
useraccount: UserAccount,
|
||
|
Historique:
|
||
|
{
|
||
|
screen: createBottomTabNavigator({ myDemand: MyHistory }, {
|
||
|
headerMode: "none",
|
||
|
header: null,
|
||
|
headerTitle: null,
|
||
|
headerTitle: I18n.t('CREDIT_MANAGE'),
|
||
|
tabBarOptions: {
|
||
|
labelStyle: {
|
||
|
fontSize: 13,
|
||
|
fontWeight: "bold"
|
||
|
},
|
||
|
}
|
||
|
}),
|
||
|
navigationOptions: ({ navigation }) => ({
|
||
|
header: null,
|
||
|
headerMode: 'none',
|
||
|
headerTitle: null,
|
||
|
activeColor: '#f0edf6',
|
||
|
inactiveColor: '#3e2465',
|
||
|
barStyle: { backgroundColor: '#694fad' },
|
||
|
|
||
|
drawerLabel: I18n.t('CREDIT_MANAGE'),
|
||
|
drawerIcon: ({ tintColor }) => (
|
||
|
<Icon
|
||
|
name={'credit-card'}
|
||
|
size={24}
|
||
|
/>)
|
||
|
}),
|
||
|
},
|
||
|
|
||
|
historyItemDetails: HistoryItemDetails,
|
||
|
creditrequest: HistoryRequester,
|
||
|
addNetwork: AddNetwork,
|
||
|
updateinformation: UpdateInformations,
|
||
|
notificationview: Notifications,
|
||
|
configuration: Configurations,
|
||
|
about: About
|
||
|
})
|
||
|
}, {
|
||
|
contentComponent: OptionsMenu,
|
||
|
backBehavior: "none",
|
||
|
lazy: false,
|
||
|
headerMode: 'none', contentOptions: { activeTintColor: theme.accent }
|
||
|
})
|
||
|
const AppAdministratorStack = createDrawerNavigator({
|
||
|
sta: createStackNavigator({
|
||
|
home: Home,
|
||
|
useraccount: UserAccount,
|
||
|
Historique: {
|
||
|
screen: createBottomTabNavigator({
|
||
|
myDemand: MyHistory, OthersDemand: MyHistory
|
||
|
}, {
|
||
|
headerMode: "none",
|
||
|
header: null,
|
||
|
headerTitle: null,
|
||
|
title: I18n.t('CREDIT_MANAGE'),
|
||
|
tabBarOptions: {
|
||
|
labelStyle: {
|
||
|
fontSize: 13,
|
||
|
},
|
||
|
}
|
||
|
}),
|
||
|
navigationOptions: ({ navigation }) => ({
|
||
|
header: null,
|
||
|
headerMode: 'none',
|
||
|
headerTitle: null,
|
||
|
activeColor: '#f0edf6',
|
||
|
inactiveColor: '#3e2465',
|
||
|
barStyle: { backgroundColor: '#694fad' },
|
||
|
|
||
|
drawerLabel: I18n.t('CREDIT_MANAGE'),
|
||
|
drawerIcon: ({ tintColor }) => (
|
||
|
<Icon
|
||
|
name={'credit-card'}
|
||
|
size={24}
|
||
|
/>)
|
||
|
}),
|
||
|
},
|
||
|
creditrequest: HistoryRequester,
|
||
|
historyItemDetails: HistoryItemDetails,
|
||
|
|
||
|
superviseurgroup: SuperViseurGroupeHome,
|
||
|
notificationview: Notifications,
|
||
|
configuration: Configurations,
|
||
|
about: About
|
||
|
|
||
|
})
|
||
|
},
|
||
|
{
|
||
|
contentComponent: OptionsMenu,
|
||
|
backBehavior: "none",
|
||
|
headerMode: 'none'
|
||
|
})
|
||
|
const AppSuperAdministrator = createDrawerNavigator({
|
||
|
sta: createStackNavigator({
|
||
|
home: Home,
|
||
|
useraccount: UserAccount,
|
||
|
Historique: {
|
||
|
screen: createBottomTabNavigator({ OthersDemand: MyHistory }, {
|
||
|
headerMode: "none",
|
||
|
header: null,
|
||
|
headerTitle: null,
|
||
|
title: I18n.t('CREDIT_MANAGE'),
|
||
|
tabBarOptions: {
|
||
|
labelStyle: {
|
||
|
fontSize: 13,
|
||
|
fontWeight: "bold"
|
||
|
},
|
||
|
}
|
||
|
}),
|
||
|
navigationOptions: ({ navigation }) => ({
|
||
|
title: I18n.t('CREDIT_MANAGE'),
|
||
|
headerMode: "none",
|
||
|
header: null,
|
||
|
headerTitle: null,
|
||
|
drawerIcon: ({ tintColor }) => (
|
||
|
<Icon
|
||
|
name={'credit-card'}
|
||
|
size={24}
|
||
|
/>)
|
||
|
}),
|
||
|
},
|
||
|
creditrequest: HistoryRequester,
|
||
|
historyItemDetails: HistoryItemDetails,
|
||
|
superviseurgroup: SuperViseurGroupeHome,
|
||
|
notificationview: Notifications,
|
||
|
configuration: Configurations,
|
||
|
about: About
|
||
|
|
||
|
})
|
||
|
}, {
|
||
|
contentComponent: OptionsMenu,
|
||
|
backBehavior: "none",
|
||
|
headerMode: 'none'
|
||
|
})
|
||
|
export const AppNavigator = createSwitchNavigator({
|
||
|
first: {
|
||
|
screen: SplashScreen
|
||
|
},
|
||
|
App: AppStack,
|
||
|
AgentApp: AppAgentStack,
|
||
|
adminApp: AppAdministratorStack,
|
||
|
supAdminApp: AppSuperAdministrator,
|
||
|
Auth: AuthStack
|
||
|
}, {
|
||
|
initialRouteName: 'first'
|
||
|
});
|
||
|
const AppContainer = createAppContainer(AppNavigator);
|
||
|
|
||
|
export default AppContainer;
|
||
|
|
||
|
const styles = StyleSheet.create({
|
||
|
container: {
|
||
|
flex: 1,
|
||
|
justifyContent: 'center',
|
||
|
alignItems: 'center',
|
||
|
backgroundColor: '#F5FCFF',
|
||
|
},
|
||
|
welcome: {
|
||
|
fontSize: 20,
|
||
|
textAlign: 'center',
|
||
|
margin: 10,
|
||
|
},
|
||
|
instructions: {
|
||
|
textAlign: 'center',
|
||
|
color: '#333333',
|
||
|
marginBottom: 5,
|
||
|
},
|
||
|
});
|