TopTabNavigator.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import { createTopTabNavigator } from "@react-navigation/top-tabs";
  2. import * as React from "react";
  3. import { useModel } from "flooks";
  4. import { Text } from "@ui-kitten/components";
  5. import TabBarIcon from "../components/TabBarIcon";
  6. import OrderScreen from "../screens/OrderScreen";
  7. import HomeScreen from "../screens/HomeScreen";
  8. import UserScreen from "../screens/UserScreen";
  9. const TopTab = createTopTabNavigator();
  10. export default function TopTabNavigator() {
  11. const { tab1, tab2, tab3 } = useModel("wordsModel");
  12. return (
  13. <TopTab.Navigator headerMode='none' initialRouteName='Home'>
  14. <TopTab.Screen
  15. name='Home'
  16. component={HomeScreen}
  17. options={{
  18. tabBarLabel: ({ focused }) => (
  19. <Text
  20. category='c1'
  21. status={focused ? "primary" : "info"}
  22. >
  23. {tab1}
  24. </Text>
  25. ),
  26. tabBarIcon: ({ focused }) => (
  27. <TabBarIcon focused={focused} name='home' />
  28. ),
  29. }}
  30. />
  31. <TopTab.Screen
  32. name='Order'
  33. component={OrderScreen}
  34. options={{
  35. tabBarLabel: ({ focused }) => (
  36. <Text
  37. category='c1'
  38. status={focused ? "primary" : "info"}
  39. >
  40. {tab2}
  41. </Text>
  42. ),
  43. tabBarIcon: ({ focused }) => (
  44. <TabBarIcon focused={focused} name='file-text' />
  45. ),
  46. }}
  47. />
  48. <TopTab.Screen
  49. name='User'
  50. component={UserScreen}
  51. options={{
  52. tabBarLabel: ({ focused }) => (
  53. <Text
  54. category='c1'
  55. status={focused ? "primary" : "info"}
  56. >
  57. {tab3}
  58. </Text>
  59. ),
  60. tabBarIcon: ({ focused }) => (
  61. <TabBarIcon focused={focused} name='person' />
  62. ),
  63. }}
  64. />
  65. </TopTab.Navigator>
  66. );
  67. }