"use client";

import type { ReactNode } from "react";
import { CartDrawer } from "@/components/cart/CartDrawer";
import { SiteBranding } from "@/components/layout/SiteBranding";
import { AuthProvider } from "./auth-context";
import { CartProvider } from "./cart-context";
import { ThemeProvider } from "./theme-context";
import { ToastProvider } from "./toast-context";
import { WishlistProvider } from "./wishlist-context";

/** App-wide client providers (theme, toast, auth, cart, wishlist). */
export function Providers({ children }: { children: ReactNode }) {
  return (
    <ThemeProvider>
      <ToastProvider>
        <AuthProvider>
          <WishlistProvider>
            <CartProvider>
              <SiteBranding />
              {children}
              <CartDrawer />
            </CartProvider>
          </WishlistProvider>
        </AuthProvider>
      </ToastProvider>
    </ThemeProvider>
  );
}
