'use client';

import { AuthProvider } from '@/contexts/AuthContext';
import { RegionProvider } from '@/contexts/RegionContext';
import { LanguageProvider } from '@/contexts/LanguageContext';
import { SocketProvider } from '@/contexts/SocketContext';
import { NotificationProvider } from '@/contexts/NotificationContext';
import { MessagesProvider } from '@/contexts/MessagesContext';
import { SessionExpiredPortal } from '@/components/auth/SessionExpiredPortal';

export function Providers({ children }: { children: React.ReactNode }) {
  return (
    <AuthProvider>
      <SessionExpiredPortal />
      <LanguageProvider>
        <RegionProvider>
          <SocketProvider>
            <NotificationProvider>
              <MessagesProvider>
                {children}
              </MessagesProvider>
            </NotificationProvider>
          </SocketProvider>
        </RegionProvider>
      </LanguageProvider>
    </AuthProvider>
  );
}
