"use client";

import { I18nProvider } from "@/i18n";
import { QueryProvider } from "@/components/providers/query-provider";
import { SessionProvider } from "@/features/auth/session";
import { ThemeProvider } from "@/features/theme/theme-provider";
import { PageTransitionLoader } from "@/components/providers/page-transition-loader";
import { Toaster } from "@/components/ui/toaster";
import type { ReactNode } from "react";

export function Providers({ children }: { children: ReactNode }) {
  return (
    <ThemeProvider>
      <I18nProvider>
        <QueryProvider>
          <SessionProvider>{children}</SessionProvider>
          <Toaster />
          <PageTransitionLoader />
        </QueryProvider>
      </I18nProvider>
    </ThemeProvider>
  );
}