42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
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>
|
|
);
|
|
}
|