import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';

// Auth Screens
import LanguageSelectionScreen from '../screens/Auth/LanguageSelectionScreen';

// Wallet Screens
import WalletSetupScreen from '../screens/Wallet/WalletSetupScreen';

// Main App
import BottomTabNavigator from './BottomTabNavigator';

// Identity & KYC Screens
import IdentityKYCFormScreen from '../screens/Identity/IdentityKYCFormScreen';
import CitizenCardScreen from '../screens/Identity/CitizenCardScreen';

// Additional Screens
import EducationScreen from '../screens/Education/EducationScreen';
import BusinessScreen from '../screens/Business/BusinessScreen';
import ExchangeScreen from '../screens/Exchange/ExchangeScreen';
import ReferralScreen from '../screens/Referral/ReferralScreen';

const Stack = createNativeStackNavigator();

export default function RootNavigator() {
  return (
    <NavigationContainer>
      <Stack.Navigator
        initialRouteName="LanguageSelection"
        screenOptions={{
          headerShown: false,
        }}
      >
        {/* Auth Flow */}
        <Stack.Screen name="LanguageSelection" component={LanguageSelectionScreen} />

        {/* Wallet Setup Flow - WalletConnect */}
        <Stack.Screen name="WalletSetup" component={WalletSetupScreen} />

        {/* Main App */}
        <Stack.Screen name="MainTabs" component={BottomTabNavigator} />

        {/* Identity & KYC */}
        <Stack.Screen name="IdentityKYCForm" component={IdentityKYCFormScreen} />
        <Stack.Screen name="CitizenCard" component={CitizenCardScreen} />

        {/* Additional Screens */}
        <Stack.Screen name="Education" component={EducationScreen} />
        <Stack.Screen name="Business" component={BusinessScreen} />
        <Stack.Screen name="Exchange" component={ExchangeScreen} />
        <Stack.Screen name="Referral" component={ReferralScreen} />
      </Stack.Navigator>
    </NavigationContainer>
  );
}
