// app/layout.tsx
import type { Metadata } from "next";
import { Geist, Geist_Mono } from "next/font/google";
import ClientCookieConsent from "../components/CookieConsent";
import { getMetaData } from "../lib/strapiClient";
import "./globals.css";
import Script from "next/script";
import AnalyticsTracker from "../components/AnalyticsTracker";

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

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

export async function generateMetadata(): Promise<Metadata> {
  try {
    const meta = await getMetaData("pl");
    const entry = meta?.[0];

    return {
      title: "Laskar.pl",
      description:
        entry?.Opis || "Aplikacja Laskar – usługi alpinistyczne i nie tylko.",
      keywords: entry?.Slowa_kluczowe?.split(",") || ["laskar"],
    };
  } catch {
    return {
      title: "Laskar.pl",
      description: "Aplikacja Laskar – usługi alpinistyczne i nie tylko.",
      keywords: ["laskar"],
    };
  }
}

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="pl">
    <head>
      <Script
          src={`https://www.googletagmanager.com/gtag/js?id=G-TZE34FVEF0`}
          strategy="afterInteractive"
      />
      <Script id="ga4" strategy="afterInteractive">
        {`
            window.dataLayer = window.dataLayer || [];
            function gtag(){dataLayer.push(arguments);}
            gtag('js', new Date());
            gtag('config', 'G-4LC7D78KH6');
          `}
      </Script>
    </head>
      <body
        className={`${geistSans.variable} ${geistMono.variable} antialiased`}
      >
        <AnalyticsTracker />
        {children}
        <ClientCookieConsent />
      </body>
    </html>
  );
}
