import type { Metadata } from "next";
import { Sora, Inter } from "next/font/google";
import Script from "next/script";
import AuthProvider from "@/components/AuthProvider";
import { SITE_URL } from "@/lib/site";
import "./globals.css";

const display = Sora({
  subsets: ["latin"],
  variable: "--font-display",
  weight: ["500", "600", "700", "800"],
});

const body = Inter({
  subsets: ["latin"],
  variable: "--font-body",
  weight: ["400", "500", "600"],
});

export const metadata: Metadata = {
  metadataBase: new URL(SITE_URL),
  title: {
    default: "SwiftToolHub — Free IT Tools For Faster Work",
    template: "%s — SwiftToolHub",
  },
  description:
    "A growing library of free, fast IT and developer tools — converters, checkers, generators and calculators — built for daily work. No sign-up required.",
  openGraph: {
    title: "SwiftToolHub — Free IT Tools For Faster Work",
    description:
      "Converters, checkers, generators and calculators in one clean workspace — no sign-up, no clutter.",
    url: SITE_URL,
    siteName: "SwiftToolHub",
    type: "website",
  },
};

// Set this to true once your site is approved and you have a
// publisher id, then replace ca-pub-XXXXXXXXXXXXXXXX below and in
// components/AdSlot.tsx.
const ADSENSE_ENABLED = false;
const ADSENSE_CLIENT_ID = "ca-pub-XXXXXXXXXXXXXXXX";

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="en" className={`${display.variable} ${body.variable}`}>
      <head>
        {ADSENSE_ENABLED && (
          <Script
            async
            src={`https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=${ADSENSE_CLIENT_ID}`}
            crossOrigin="anonymous"
            strategy="afterInteractive"
          />
        )}
      </head>
      <body>
        <AuthProvider>{children}</AuthProvider>
      </body>
    </html>
  );
}
