import { Tabs } from 'expo-router';
import React from 'react';
import { Feather } from '@expo/vector-icons';

import { HapticTab } from '@/components/haptic-tab';
import { AppColors } from '@/constants/theme';
import { useColorScheme } from '@/hooks/use-color-scheme';

export default function TabLayout() {
  const colorScheme = useColorScheme();
  const isDark = colorScheme === 'dark';

  return (
    <Tabs
      screenOptions={{
        tabBarActiveTintColor: AppColors.primary,
        tabBarInactiveTintColor: isDark ? '#9BA1A6' : '#687076',
        tabBarStyle: {
          backgroundColor: isDark ? '#151718' : AppColors.background,
          borderTopColor: isDark ? '#2D3135' : AppColors.border,
          height: 85,
          paddingBottom: 25,
          paddingTop: 10,
        },
        tabBarLabelStyle: {
          fontSize: 11,
          fontWeight: '500',
        },
        headerShown: false,
        tabBarButton: HapticTab,
      }}
    >
      <Tabs.Screen
        name="index"
        options={{
          title: 'Dashboard',
          tabBarIcon: ({ color, size }) => (
            <Feather name="grid" size={22} color={color} />
          ),
        }}
      />
      {/* Hide old dashboard - now index shows WebView dashboard */}
      <Tabs.Screen
        name="dashboard"
        options={{
          href: null,
        }}
      />
      {/* Chat with Julia AI */}
      <Tabs.Screen
        name="chat"
        options={{
          title: 'Julia',
          tabBarIcon: ({ color, size }) => (
            <Feather name="message-circle" size={22} color={color} />
          ),
        }}
      />
      {/* Voice tab hidden - using Debug for testing */}
      <Tabs.Screen
        name="voice"
        options={{
          href: null,
        }}
      />
      <Tabs.Screen
        name="profile"
        options={{
          title: 'Profile',
          tabBarIcon: ({ color, size }) => (
            <Feather name="user" size={22} color={color} />
          ),
        }}
      />
      {/* Debug tab - for testing audio/voice */}
      <Tabs.Screen
        name="debug"
        options={{
          title: 'Debug',
          tabBarIcon: ({ color, size }) => (
            <Feather name="terminal" size={22} color={color} />
          ),
        }}
      />
      {/* Hide explore tab */}
      <Tabs.Screen
        name="explore"
        options={{
          href: null,
        }}
      />
      {/* Beneficiaries - hidden from tab bar but keeps tab bar visible */}
      <Tabs.Screen
        name="beneficiaries"
        options={{
          href: null,
        }}
      />
    </Tabs>
  );
}
