import React, { useContext } from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import { AuthContext } from '../context/AuthContext';
import { ActivityIndicator, View } from 'react-native';
import { LayoutDashboard, Briefcase, Users, MoreHorizontal, CheckSquare } from 'lucide-react-native';
import Colors from '../constants/Colors';
import LoginScreen from '../screens/LoginScreen';
import HomeScreen from '../screens/HomeScreen';
import AttendanceScreen from '../screens/AttendanceScreen';
import ClientListScreen from '../screens/ClientListScreen';
import AddClientScreen from '../screens/AddClientScreen';
import ClientDetailsScreen from '../screens/ClientDetailsScreen';
import EditClientScreen from '../screens/EditClientScreen';
import PipelineScreen from '../screens/PipelineScreen';
import AddOpportunityScreen from '../screens/AddOpportunityScreen';
import ExpenseScreen from '../screens/ExpenseScreen';
import IncentiveScreen from '../screens/IncentiveScreen';
import LogActivityScreen from '../screens/LogActivityScreen';
import MyTargetScreen from '../screens/MyTargetScreen';
import TasksScreen from '../screens/TasksScreen';
import CallLogsScreen from '../screens/CallLogsScreen';
import ChangePasswordScreen from '../screens/ChangePasswordScreen';
const Stack = createNativeStackNavigator();
const Tab = createBottomTabNavigator();
const TabNavigator = () => (
({
tabBarIcon: ({ focused, color, size }) => {
let Icon;
if (route.name === 'Dashboard') Icon = LayoutDashboard;
else if (route.name === 'Pipeline') Icon = Briefcase;
else if (route.name === 'Clients') Icon = Users;
else if (route.name === 'Tasks') Icon = CheckSquare;
else Icon = MoreHorizontal;
return ;
},
tabBarActiveTintColor: Colors.primary,
tabBarInactiveTintColor: Colors.textLight,
tabBarStyle: { height: 60, paddingBottom: 10 },
headerStyle: { backgroundColor: Colors.primary },
headerTintColor: '#fff',
headerTitleStyle: { fontWeight: 'bold' },
})}
>
);
const AppNav = () => {
const { isLoading, userToken } = useContext(AuthContext);
if (isLoading) {
return (
);
}
return (
{userToken !== null ? (
<>
>
) : (
)}
);
}
export default AppNav;