Skip to content

Instantly share code, notes, and snippets.

@WilliamAnputra
Created January 21, 2018 14:04
Show Gist options
  • Save WilliamAnputra/4fa771fb97db5d5b97b1160cd5068550 to your computer and use it in GitHub Desktop.
Save WilliamAnputra/4fa771fb97db5d5b97b1160cd5068550 to your computer and use it in GitHub Desktop.
import React, { Component } from 'react';
import {
DrawerNavigator,
StackNavigator,
TabNavigator
} from 'react-navigation';
import { Dimensions } from 'react-native';
import { Provider } from 'react-redux';
import getSlideFromRightTransition
from 'react-navigation-slide-from-right-transition';
import Helper from '../../src/helper/scaleUnit';
import { NullComponent } from '../components/DrawerLayout/NullComponent';
import TabBar from '../components/TabBarComponent/TabBar';
import RegisterScreen from '../screen/RegisterScreen';
import ProfileScreen from '../screen/ProfileScreen';
import LoginScreen from '../screen/LoginScreen';
import LocationScreen from '../screen/LocationScreen';
import HomeScreen from '../screen/HomeScreen';
import VerificationScreen from '../screen/VerificationScreen';
import BookingScreen from '../screen/BookingScreen';
import Step1 from '../screen/Step1_Screen';
import Step2 from '../screen/Step2_Screen';
import Step3 from '../screen/Step3_Screen';
import Step4 from '../screen/Step4_Screen';
import Step5 from '../screen/Step5_Screen';
import Step6 from '../screen/Step6_screen';
import { ContactScreen, TermScreen, ForgotPasswordScreen } from '../screen';
import store from '../store';
const SCREEN_WIDTH = Dimensions.get('window').width;
const Dash = StackNavigator(
{
NavScreen: {
screen: DrawerNavigator(
{
Home: {
screen: TabNavigator(
{
HomeScreen: { screen: HomeScreen },
BookingScreen: { screen: BookingScreen },
LocationScreen: { screen: LocationScreen },
ProfileScreen: { screen: ProfileScreen },
VerificationScreen: { screen: VerificationScreen },
Contact: { screen: ContactScreen },
RegisterScreen: { screen: RegisterScreen },
LoginScreen: { screen: LoginScreen }
},
{
lazy: false,
swipeEnabled: false,
animationEnabled: false,
tabBarComponent: TabBar,
tabBarPosition: 'bottom',
tabBarOptions: {
style: {
backgroundColor: '#1452a3'
},
inactiveTintColor: '#ffffff',
activeTintColor: '#fcca2e'
}
}
)
},
Step: {
screen: StackNavigator(
{
Step1: {
screen: Step1
},
Step2: {
screen: Step2
},
Step3: {
screen: Step3
},
Step4: {
screen: Step4
},
Step5: {
screen: Step5
},
Step6: {
screen: Step6
}
},
{
headerMode: 'none'
}
),
navigationOptions: {
drawerLabel: 'Book Now'
}
},
'My Booking': {
screen: TabNavigator(
{
BookingScreen: { screen: BookingScreen },
HomeScreen: { screen: HomeScreen },
LocationScreen: { screen: LocationScreen },
ProfileScreen: { screen: ProfileScreen },
VerificationScreen: { screen: VerificationScreen },
Contact: { screen: ContactScreen },
RegisterScreen: { screen: RegisterScreen },
LoginScreen: { screen: LoginScreen }
},
{
lazy: false,
swipeEnabled: false,
animationEnabled: false,
tabBarComponent: TabBar,
tabBarPosition: 'bottom',
tabBarOptions: {
style: {
backgroundColor: '#1452a3'
},
inactiveTintColor: '#ffffff',
activeTintColor: '#fcca2e'
}
}
)
},
Location: {
screen: TabNavigator(
{
LocationScreen: { screen: LocationScreen },
BookingScreen: { screen: BookingScreen },
HomeScreen: { screen: HomeScreen },
ProfileScreen: { screen: ProfileScreen },
VerificationScreen: { screen: VerificationScreen },
Contact: { screen: ContactScreen },
RegisterScreen: { screen: RegisterScreen },
LoginScreen: { screen: LoginScreen }
},
{
lazy: false,
swipeEnabled: false,
animationEnabled: false,
tabBarComponent: TabBar,
tabBarPosition: 'bottom',
tabBarOptions: {
style: {
backgroundColor: '#1452a3'
},
inactiveTintColor: '#ffffff',
activeTintColor: '#fcca2e'
}
}
)
},
'Contact Us': {
screen: TabNavigator(
{
Contact: { screen: ContactScreen },
LocationScreen: { screen: LocationScreen },
BookingScreen: { screen: BookingScreen },
HomeScreen: { screen: HomeScreen },
ProfileScreen: { screen: ProfileScreen },
VerificationScreen: { screen: VerificationScreen },
RegisterScreen: { screen: RegisterScreen },
LoginScreen: { screen: LoginScreen }
},
{
lazy: false,
swipeEnabled: false,
animationEnabled: false,
tabBarComponent: TabBar,
tabBarPosition: 'bottom',
tabBarOptions: {
style: {
backgroundColor: '#1452a3'
},
inactiveTintColor: '#ffffff',
activeTintColor: '#fcca2e'
}
}
)
},
Terms: {
screen: TermScreen
},
ForgotPassword: {
screen: ForgotPasswordScreen,
navigationOptions: { drawerLabel: NullComponent }
}
},
{
drawerWidth: SCREEN_WIDTH / 2,
drawerPosition: 'left',
drawerBackgroundColor: '#f2f2f2',
activeItemKey: '',
contentOptions: {
style: { marginTop: 20 }
}
}
)
}
},
{
transitionConfig: getSlideFromRightTransition,
headerMode: 'none'
}
);
export class Router extends Component {
render() {
return (
<Provider store={store}>
<Dash onNavigationStateChange={null} />
</Provider>
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment