import { Open_Sans, AR_One_Sans } from "next/font/google";
import { NextIntlClientProvider } from "next-intl";
import { getMessages } from "next-intl/server";
import { AuthProvider } from "@/src/features/auth/auth-context";

const openSans = Open_Sans({
  subsets: ["latin"],
  variable: "--font-sans",
  weight: ["300", "400", "600", "700", "800"],
});

const arOneSans = AR_One_Sans({
  subsets: ["latin"],
  variable: "--font-brand",
  weight: ["600", "700"],
});

export default async function LocaleLayout({
  children,
  params,
}: {
  children: React.ReactNode;
  params: Promise<{ locale: string }>;
}) {
  const { locale } = await params;
  const messages = await getMessages({ locale });

  return (
    <NextIntlClientProvider locale={locale} messages={messages}>
      <AuthProvider>
        <div className={`${openSans.variable} ${arOneSans.variable} font-sans`}>
          {children}
        </div>
      </AuthProvider>
    </NextIntlClientProvider>
  );
}
