Application Android et IOS pour l'amicale des élèves
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

MainTabNavigator.js 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import * as React from 'react';
  2. import {createMaterialBottomTabNavigator} from "react-navigation-material-bottom-tabs";
  3. import HomeScreen from '../screens/HomeScreen';
  4. import PlanningScreen from '../screens/PlanningScreen';
  5. import ProxiwashScreen from '../screens/Proxiwash/ProxiwashScreen';
  6. import ProximoMainScreen from '../screens/Proximo/ProximoMainScreen';
  7. import PlanexScreen from '../screens/PlanexScreen';
  8. import CustomMaterialIcon from "../components/CustomMaterialIcon";
  9. import ThemeManager from "../utils/ThemeManager";
  10. import AsyncStorageManager from "../utils/AsyncStorageManager";
  11. const TAB_ICONS = {
  12. Home: 'triangle',
  13. Planning: 'calendar-range',
  14. Proxiwash: 'washing-machine',
  15. Proximo: 'shopping',
  16. Planex: 'timetable',
  17. };
  18. function createMaterialBottomTabNavigatorWithInitialRoute(initialRoute: string) {
  19. return createMaterialBottomTabNavigator({
  20. Home: {screen: HomeScreen},
  21. Planning: {screen: PlanningScreen,},
  22. Proxiwash: {screen: ProxiwashScreen,},
  23. Proximo: {screen: ProximoMainScreen,},
  24. Planex: {
  25. screen: PlanexScreen,
  26. navigationOptions: ({navigation}) => {
  27. const showTabBar = navigation.state && navigation.state.params ? navigation.state.params.showTabBar : true;
  28. return {
  29. tabBarVisible: showTabBar,
  30. };
  31. },
  32. },
  33. }, {
  34. defaultNavigationOptions: ({navigation}) => ({
  35. tabBarIcon: ({focused, tintColor}) => {
  36. let icon = TAB_ICONS[navigation.state.routeName];
  37. // tintColor is ignoring activeColor et inactiveColor for some reason
  38. let color = focused ? "#f0edf6" : "#4e1108";
  39. return <CustomMaterialIcon icon={icon} color={color}/>;
  40. },
  41. tabBarVisible: true,
  42. }),
  43. order: ['Proximo', 'Planning', 'Home', 'Proxiwash', 'Planex'],
  44. initialRouteName: initialRoute,
  45. activeColor: '#f0edf6',
  46. inactiveColor: '#4e1108',
  47. backBehavior: 'initialRoute',
  48. barStyle: {backgroundColor: ThemeManager.getCurrentThemeVariables().brandPrimary},
  49. });
  50. }
  51. export {createMaterialBottomTabNavigatorWithInitialRoute};