import type { Metadata } from "next";
import { Geist, Geist_Mono } from "next/font/google";
import localFont from "next/font/local";
import "./globals.css";
import { AuthProvider } from "@/context/AuthContext";

const geistSans = Geist({
  variable: "--font-geist-sans",
  subsets: ["latin"],
});

const geistMono = Geist_Mono({
  variable: "--font-geist-mono",
  subsets: ["latin"],
});

// Local Fractul font (matching web app)
const fractul = localFont({
  src: [
    {
      path: "../fonts/fractul/Fractul-Regular.ttf",
      weight: "400",
      style: "normal",
    },
    {
      path: "../fonts/fractul/Fractul-Italic.ttf",
      weight: "400",
      style: "italic",
    },
    {
      path: "../fonts/fractul/Fractul-Medium.ttf",
      weight: "500",
      style: "normal",
    },
    {
      path: "../fonts/fractul/Fractul-MediumItalic.ttf",
      weight: "500",
      style: "italic",
    },
    {
      path: "../fonts/fractul/Fractul-SemiBold.ttf",
      weight: "600",
      style: "normal",
    },
    {
      path: "../fonts/fractul/Fractul-SemiBoldItalic.ttf",
      weight: "600",
      style: "italic",
    },
    {
      path: "../fonts/fractul/Fractul-Bold.ttf",
      weight: "700",
      style: "normal",
    },
    {
      path: "../fonts/fractul/Fractul-BoldItalic.ttf",
      weight: "700",
      style: "italic",
    },
    {
      path: "../fonts/fractul/Fractul-ExtraBold.ttf",
      weight: "800",
      style: "normal",
    },
    {
      path: "../fonts/fractul/Fractul-ExtraBoldItalic.ttf",
      weight: "800",
      style: "italic",
    },
  ],
  variable: "--font-fractul",
});

// Local Source Serif 4 font (matching web app)
const sourceSerif4 = localFont({
  src: [
    {
      path: "../fonts/Source_Serif_4/static/SourceSerif4-Regular.ttf",
      weight: "400",
      style: "normal",
    },
    {
      path: "../fonts/Source_Serif_4/static/SourceSerif4-Italic.ttf",
      weight: "400",
      style: "italic",
    },
    {
      path: "../fonts/Source_Serif_4/static/SourceSerif4-Medium.ttf",
      weight: "500",
      style: "normal",
    },
    {
      path: "../fonts/Source_Serif_4/static/SourceSerif4-MediumItalic.ttf",
      weight: "500",
      style: "italic",
    },
    {
      path: "../fonts/Source_Serif_4/static/SourceSerif4-SemiBold.ttf",
      weight: "600",
      style: "normal",
    },
    {
      path: "../fonts/Source_Serif_4/static/SourceSerif4-SemiBoldItalic.ttf",
      weight: "600",
      style: "italic",
    },
    {
      path: "../fonts/Source_Serif_4/static/SourceSerif4-Bold.ttf",
      weight: "700",
      style: "normal",
    },
    {
      path: "../fonts/Source_Serif_4/static/SourceSerif4-BoldItalic.ttf",
      weight: "700",
      style: "italic",
    },
  ],
  variable: "--font-source-serif-4",
});

export const metadata: Metadata = {
  title: "Re-Quest Admin",
  description: "Admin dashboard for Re-Quest Platform",
};

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="en">
      <body
        className={`${geistSans.variable} ${geistMono.variable} ${sourceSerif4.variable} ${fractul.variable} antialiased`}
      >
        <AuthProvider>{children}</AuthProvider>
      </body>
    </html>
  );
}
