import React from 'react'; import { NavigationContainer } from '@react-navigation/native'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import { createStackNavigator } from '@react-navigation/stack'; import { Provider } from 'react-redux'; import { store } from './src/store/store'; import { StatusBar } from 'expo-status-bar'; import { Ionicons } from '@expo/vector-icons'; // Screens import DashboardScreen from './src/screens/DashboardScreen'; import FeaturesScreen from './src/screens/FeaturesScreen'; import AnalyticsScreen from './src/screens/AnalyticsScreen'; import MediaScreen from './src/screens/MediaScreen'; import ChatScreen from './src/screens/ChatScreen'; import SettingsScreen from './src/screens/SettingsScreen'; import LoginScreen from './src/screens/auth/LoginScreen'; import RegisterScreen from './src/screens/auth/RegisterScreen'; // Navigation types type RootStackParamList = { Auth: undefined; Main: undefined; }; type AuthStackParamList = { Login: undefined; Register: undefined; }; type MainTabParamList = { Dashboard: undefined; Features: undefined; Analytics: undefined; Media: undefined; Chat: undefined; Settings: undefined; }; const Stack = createStackNavigator(); const AuthStack = createStackNavigator(); const Tab = createBottomTabNavigator(); // Auth Navigator const AuthNavigator = () => ( ); // Main Tab Navigator const MainTabNavigator = () => ( ({ tabBarIcon: ({ focused, color, size }) => { let iconName: keyof typeof Ionicons.glyphMap; switch (route.name) { case 'Dashboard': iconName = focused ? 'home' : 'home-outline'; break; case 'Features': iconName = focused ? 'apps' : 'apps-outline'; break; case 'Analytics': iconName = focused ? 'analytics' : 'analytics-outline'; break; case 'Media': iconName = focused ? 'musical-notes' : 'musical-notes-outline'; break; case 'Chat': iconName = focused ? 'chatbubbles' : 'chatbubbles-outline'; break; case 'Settings': iconName = focused ? 'settings' : 'settings-outline'; break; default: iconName = 'help-outline'; } return ; }, tabBarActiveTintColor: '#3B82F6', tabBarInactiveTintColor: '#6B7280', tabBarStyle: { backgroundColor: '#1F2937', borderTopColor: '#374151', }, headerStyle: { backgroundColor: '#1F2937', }, headerTintColor: '#FFFFFF', })} > ); // Root Navigator const RootNavigator = () => { // TODO: Check authentication state const isAuthenticated = false; // This should come from auth state return ( {isAuthenticated ? ( ) : ( )} ); }; export default function App() { return ( ); }