Nav apraksta

_layout.tsx 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { Tabs } from 'expo-router';
  2. import React from 'react';
  3. import { HapticTab } from '@/components/haptic-tab';
  4. import { IconSymbol } from '@/components/ui/icon-symbol';
  5. import { Colors } from '@/constants/theme';
  6. import { useColorScheme } from '@/hooks/use-color-scheme';
  7. import { useTranslation } from '@/localization/i18n';
  8. export default function TabLayout() {
  9. const colorScheme = useColorScheme();
  10. const { t } = useTranslation();
  11. return (
  12. <Tabs
  13. screenOptions={{
  14. tabBarActiveTintColor: Colors[colorScheme ?? 'light'].tint,
  15. headerShown: false,
  16. tabBarButton: HapticTab,
  17. }}>
  18. <Tabs.Screen
  19. name="index"
  20. options={{
  21. title: t('tabs.home'),
  22. tabBarIcon: ({ color }) => <IconSymbol size={28} name="house.fill" color={color} />,
  23. }}
  24. />
  25. <Tabs.Screen
  26. name="logbook"
  27. options={{
  28. title: t('tabs.logbook'),
  29. tabBarIcon: ({ color }) => <IconSymbol size={28} name="book.fill" color={color} />,
  30. }}
  31. />
  32. <Tabs.Screen
  33. name="explore"
  34. options={{
  35. href: null,
  36. }}
  37. />
  38. <Tabs.Screen
  39. name="blog"
  40. options={{
  41. title: t('tabs.blog'),
  42. tabBarIcon: ({ color }) => <IconSymbol size={28} name="doc.text.image" color={color} />,
  43. }}
  44. />
  45. <Tabs.Screen
  46. name="onnx"
  47. options={{
  48. title: t('tabs.onnx'),
  49. tabBarIcon: ({ color }) => <IconSymbol size={28} name="bolt.circle.fill" color={color} />,
  50. }}
  51. />
  52. <Tabs.Screen
  53. name="setup"
  54. options={{
  55. title: t('tabs.setup'),
  56. tabBarIcon: ({ color }) => <IconSymbol size={28} name="leaf.fill" color={color} />,
  57. }}
  58. />
  59. </Tabs>
  60. );
  61. }