import React from 'react'; import { Text, ViewStyle, StyleSheet } from 'react-native'; import { Ionicons } from '@expo/vector-icons'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import { DashboardScreen } from '@/screens/dashboard'; import { DarkWatchScreen } from '@/screens/darkwatch'; import { SpamShieldScreen } from '@/screens/spamshield'; import { VoicePrintScreen } from '@/screens/voiceprint'; import { SettingsScreen } from '@/screens/settings'; import { COLORS, FONT_SIZES } from '@/constants/theme'; type MainTabParamList = { Dashboard: undefined; DarkWatch: undefined; SpamShield: undefined; VoicePrint: undefined; Settings: undefined; }; const Tab = createBottomTabNavigator(); const iconMap: Record = { Dashboard: 'shield-outline', DarkWatch: 'eye-outline', SpamShield: 'ban-outline', VoicePrint: 'mic-outline', Settings: 'settings-outline', }; const iconActiveMap: Record = { Dashboard: 'shield', DarkWatch: 'eye', SpamShield: 'ban', VoicePrint: 'mic', Settings: 'settings', }; function TabIcon({ routeName, color, focused }: { routeName: string; color: string; focused: boolean }) { const iconName = focused ? (iconActiveMap[routeName] as keyof typeof Ionicons.glyphMap) : (iconMap[routeName] as keyof typeof Ionicons.glyphMap); return ; } export function MainTabNavigator() { return ( , }} /> , }} /> , }} /> , }} /> , }} /> ); }