create-react-native-app-redux-auth
Version:
This is a Create-React-Native-App boilerplate with Redux & local auth & React Navigation built-in.
73 lines (68 loc) • 1.5 kB
JavaScript
import React from 'react';
import { StackNavigator, TabNavigator, TabBarBottom } from 'react-navigation';
import { FontAwesome } from 'react-native-vector-icons';
import Login from './screens/Login';
import Signup from './screens/Signup';
import Main from './screens/Main';
export const SignedOut = StackNavigator({
Login: {
screen: Login,
navigationOptions: {
title: 'Login'
}
},
Signup: {
screen: Signup,
navigationOptions: {
title: 'Sign Up'
}
}
});
export const SignedIn = TabNavigator(
{
Main: {
screen: Main,
navigationOptions: {
tabBarLabel: 'Main',
tabBarIcon: ({ tintColor }) =>
<FontAwesome name="home" size={30} color={tintColor} />
}
}
},
{
tabBarOptions: {
activeTintColor: 'red',
inactiveTintColor: 'gray',
labelStyle: {
fontSize: 13
}
},
tabBarComponent: TabBarBottom,
tabBarPosition: 'bottom',
animationEnabled: false,
swipeEnabled: false
}
);
export const createRootNavigator = (signedIn = false) => {
return StackNavigator(
{
SignedIn: {
screen: SignedIn,
navigationOptions: {
gesturesEnabled: false
}
},
SignedOut: {
screen: SignedOut,
navigationOptions: {
gesturesEnabled: false
}
},
},
{
mode: 'modal',
headerMode: 'none',
initialRouteName: signedIn ? 'SignedIn' : 'SignedOut'
}
);
};