| "use client"; | |
| import { AppProvider } from '@/contexts/app-context'; | |
| import { ThemeProvider } from '@/components/theme-provider'; | |
| import { FirebaseProvider } from '@/contexts/firebase-context'; | |
| import { AuthProvider } from '@/contexts/auth-context'; | |
| import { SettingsProvider } from '@/contexts/settings-context'; | |
| import { ContactsProvider } from '@/contexts/contacts-context'; | |
| import { GroupsProvider } from '@/contexts/groups-context'; | |
| import { CallsProvider } from '@/contexts/calls-context'; | |
| import { ChatUtilsProvider } from '@/contexts/chat-utils-context'; | |
| import { PresenceManager } from '@/components/presence-manager'; | |
| export function Providers({ children }: { children: React.ReactNode }) { | |
| return ( | |
| <ThemeProvider | |
| attribute="class" | |
| defaultTheme="dark" | |
| enableSystem={true} | |
| disableTransitionOnChange | |
| > | |
| <FirebaseProvider> | |
| <AuthProvider> | |
| <SettingsProvider> | |
| <AppProvider> | |
| <PresenceManager /> | |
| <ContactsProvider> | |
| <GroupsProvider> | |
| <ChatUtilsProvider> | |
| <CallsProvider> | |
| <div className="fixed inset-0 flex flex-col bg-background"> | |
| <main className="flex-1 min-h-0">{children}</main> | |
| </div> | |
| </CallsProvider> | |
| </ChatUtilsProvider> | |
| </GroupsProvider> | |
| </ContactsProvider> | |
| </AppProvider> | |
| </SettingsProvider> | |
| </AuthProvider> | |
| </FirebaseProvider> | |
| </ThemeProvider> | |
| ); | |
| } | |