import React from 'react'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import { View, Text, StyleSheet } from 'react-native'; import { Feather, MaterialCommunityIcons, FontAwesome5 } from '@expo/vector-icons'; import { colors, borderRadius, typography } from '../theme/colors'; // Screens import FlowScreen from '../screens/FlowScreen'; import VaultScreen from '../screens/VaultScreen'; import SentinelScreen from '../screens/SentinelScreen'; import HeritageScreen from '../screens/HeritageScreen'; import MeScreen from '../screens/MeScreen'; const Tab = createBottomTabNavigator(); // Custom Tab Bar Button with icon on top and label below const TabBarItem = ({ name, label, focused, color, isDark = false }: { name: string; label: string; focused: boolean; color: string; isDark?: boolean; }) => { const iconSize = 22; const renderIcon = () => { switch (name) { case 'Flow': return ; case 'Vault': return ; case 'Sentinel': return ; case 'Heritage': return ; case 'Me': return ; default: return ; } }; const bgColor = focused ? (isDark ? 'rgba(184, 224, 229, 0.12)' : colors.nautical.lightMint) : 'transparent'; return ( {renderIcon()} {label} ); }; export default function TabNavigator() { return ( ( ), }} /> ( ), tabBarStyle: styles.tabBarDark, }} /> ( ), tabBarStyle: styles.tabBarDark, }} /> ( ), }} /> ( ), }} /> ); } const styles = StyleSheet.create({ tabBar: { backgroundColor: colors.nautical.cream, borderTopWidth: 0, height: 80, paddingHorizontal: 4, shadowColor: colors.nautical.navy, shadowOffset: { width: 0, height: -6 }, shadowOpacity: 0.06, shadowRadius: 16, elevation: 12, }, tabBarDark: { backgroundColor: colors.nautical.navy, borderTopWidth: 0, height: 80, paddingHorizontal: 4, shadowColor: '#000', shadowOffset: { width: 0, height: -4 }, shadowOpacity: 0.15, shadowRadius: 12, elevation: 12, }, tabItem: { alignItems: 'center', justifyContent: 'center', paddingVertical: 8, paddingHorizontal: 16, borderRadius: borderRadius.lg, minWidth: 64, }, iconWrapper: { marginBottom: 4, }, tabLabel: { fontSize: 10, fontWeight: '500', letterSpacing: 0.3, }, tabLabelActive: { fontWeight: '700', }, });