import React from "react"; import { StyleSheet, Image, Text, View } from "react-native"; import { TabNavigator, StackNavigator, DrawerNavigator, TabBarBottom } from "react-navigation"; import Size from "../config/size"; import Icon from "react-native-vector-icons/dist/Ionicons"; import init from "../containers/Menu/init"; import Tutorial from "../containers/Tutorial/tutorial" import menu from "../containers/Menu/menu"; import language from "../containers/Settings/language" import account from "../containers/Account/account"; import settings from "../containers/Settings/settings"; import myCoupons from "../containers/Settings/myCoupons" import SettingInside from "../containers/Settings/settingInside" import NotificationSetting from "../containers/Settings/notificationSetting"; import myOrders from "../containers/MyOrders/myOrders"; import OrderDetails from "../containers/MyOrders/orderDetails"; import Locations from "../containers/Location/location"; import LocationRequest from "../containers/Location//locationRequest"; import ConfirmOrder from "../containers/MyOrders/confirmOrder"; import Login from "../containers/Login/login"; import AddCard from "../containers/Account/addCard"; import SideMenu from "./sideMenu"; import pay from "../containers/Pay/pay"; import SignUpInformation from "../containers/signUp/signUpInformation"; import SignUpVerify from "../containers/signUp/signUpVerify"; import ForgetPassword from '../containers/signUp/forgetPassword' import { Provider } from "mobx-react"; import FastImage from "react-native-fast-image"; import { scale, verticalScale, moderateScale } from "react-native-size-matters"; import store from "../stores/stores_index"; import theme from "../config/colors" import Global from '../Global' import {Fonts} from '../config/fonts' const size = new Size(); const Navigation = () => { return ( ); }; const settingStack = StackNavigator({ settings:{ screen: settings, navigationOptions: { header: null, } }, myCoupons:{ screen: myCoupons, navigationOptions: { header: null, } }, SettingInside:{ screen: SettingInside, navigationOptions: { header: null, } }, language:{ screen: language, navigationOptions: { header: null, } }, }) const loginStack = StackNavigator({ Login:{ screen: Login, navigationOptions: { header: null, } }, SignUpInformation:{ screen:SignUpInformation, navigationOptions: { header: null, } }, SignUpVerify:{ screen:SignUpVerify, navigationOptions:{ header: null, } }, }) const TabRoutes = TabNavigator( { menu: { screen: menu, navigationOptions: { header: null, headerTitle: "Menu", }, }, myOrders: { screen: myOrders, navigationOptions: { header: null, headerTitle: "My Orders" } }, account: { screen: account, navigationOptions: { header: null, headerTitle: "Account" } }, settingStack: { screen: settingStack, navigationOptions: { header: null, headerTitle: "Settings" } } }, { initialRouteName: "menu", navigationOptions: ({ navigation }) => { const { routeName, routes } = navigation.state; let params = routes && routes[1] && routes[1].params; return { gesturesEnabled: false, tabBarIcon: ({ focused, tintColor }) => { const { routeName } = navigation.state; let iconName; switch (routeName) { case "menu": iconName = require("../images/menubarmenu.png"); break; case "myOrders": iconName = require("../images/menubarmyorder.png"); break; case "account": iconName = require("../images/menubarprofile.png"); break; case "settingStack": iconName = require("../images/menubarsetting.png"); break; default: break; } // You can return any component that you like here! For demo we use an // icon component from react-native-vector-icons return //return ; } }; }, tabBarOptions: { showIcon: true, showLabel:true, activeTintColor: theme.mainColor, inactiveTintColor: "#858585", style: { height: 60, justifyContent: 'center', paddingVertical: 5, backgroundColor: "white" }, tabStyle:{ alignSelf: 'center', backgroundColor: 'white' }, iconStyle:{ height:60, }, labelStyle: { fontSize: 12, lineHeight: 20, fontFamily:Fonts.century } }, tabBarComponent: ({ jumpToIndex, ...props, navigation }) => ( { const currentIndex = navigation.state.index; if (tabIndex == 1) { // do some thing. Call Native Live Stream Record if(!Global.login){ navigation.navigate('Login') }else{ navigation.navigate('myOrders') } } else if (tabIndex == 2){ // navigation.navigate('account') if(!Global.login){ navigation.navigate('Login') }else{ navigation.navigate('account') } } else { jumpToIndex(tabIndex); } console.log('Select tab: ', tabIndex); }} />), tabBarPosition: "bottom", animationEnabled: true, swipeEnabled: false, }, ); // add your router below const Navigator = StackNavigator({ init: { screen: init, navigationOptions: { header: null, } }, TabRoutes: { screen: TabRoutes, navigationOptions: { header: null } }, Login:{ screen: Login, navigationOptions: { header: null } }, OrderDetails: { screen: OrderDetails, navigationOptions: { header: null } }, NotificationSetting: { screen: Login, navigationOptions: { header: null } }, Location: { screen: Locations, navigationOptions: { header: null } }, LocationRequest: { screen: LocationRequest, navigationOptions: { header: null } }, ConfirmOrder: { screen: ConfirmOrder, navigationOptions: { header: null, gesturesEnabled: false } }, SignUpInformation: { screen: SignUpInformation, navigationOptions: { header: null } }, pay: { screen: pay, navigationOptions: { header: null } }, SignUpVerify: { screen: SignUpVerify, navigationOptions: { header: null }, }, ForgetPassword: { screen: ForgetPassword, navigationOptions: { header: null }, }, AddCard: { screen: AddCard, navigationOptions: { header: null } }, Tutorial:{ screen: Tutorial, navigationOptions: { header: null } } }); export default Navigation;