import { Outfit } from 'next/font/google';
// @ts-ignore
import './globals.css';
import { SidebarProvider } from '@/context/SidebarContext';
import { ThemeProvider } from '@/context/ThemeContext';
import { StoreProvider } from '@/components/StoreProvider';
import { SocketProvider } from '@/context/SocketContext';
import ToastProvider from '@/components/ToastProvider';

const outfit = Outfit({
  subsets: ["latin"],
});

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="en" suppressHydrationWarning>
      <body className={`${outfit.className}`} suppressHydrationWarning>
        <ThemeProvider>
          <StoreProvider>
            <SocketProvider>
              <SidebarProvider>{children}</SidebarProvider>
            </SocketProvider>
          </StoreProvider>
        </ThemeProvider>
        <ToastProvider />
      </body>
    </html>
  );
}
