import { AuthProvider } from '@/components/AuthProvider';
import QueryProvider from '@/components/QueryProvider';
import { ThemeProvider, useTheme } from '@/components/ThemeContext';
import { useNotifications } from '@/hooks/useNotifications';
import i18n from '@/i18n/i18n';
import { ProfileDataProvider } from '@/screens/profile/lib/ProfileDataContext';
import { Stack } from 'expo-router';
import { I18nextProvider } from 'react-i18next';
import { StatusBar } from 'react-native';
import 'react-native-reanimated';

function AppContent() {
  const { isDark } = useTheme();
  useNotifications();
  return (
    <>
      <Stack screenOptions={{ headerShown: false }} />
      <StatusBar
        barStyle={isDark ? 'light-content' : 'dark-content'}
        backgroundColor={isDark ? '#0f172a' : '#ffffff'}
        translucent={false}
      />
    </>
  );
}

export default function RootLayout() {
  return (
    <I18nextProvider i18n={i18n}>
      <QueryProvider>
        <ThemeProvider>
          <ProfileDataProvider>
            <AuthProvider>
              <AppContent />
            </AuthProvider>
          </ProfileDataProvider>
        </ThemeProvider>
      </QueryProvider>
    </I18nextProvider>
  );
}
