import type { Metadata } from "next";
import { Geist, Geist_Mono } from "next/font/google";
import "./globals.css";
import { Toaster } from "@/components/ui/sonner";
import { UmamiAnalytics } from "@/components/analytics/umami-analytics";

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

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

export const metadata: Metadata = {
  metadataBase: new URL(
    process.env.NEXT_PUBLIC_SITE_URL ?? "https://kita-planer.example.com",
  ),
  title: {
    default: "Der digitale Kita-Planer für Elternvereine",
    template: "%s | Kita-Planer",
  },
  description:
    "Kita-Planer bündelt Dienste, Termine, Notdienste, Abwesenheiten und sichere Kommunikation für Elternvereine an einem Ort.",
  openGraph: {
    title: "Der digitale Kita-Planer für Elternvereine",
    description:
      "Organisiert Dienste, teilt Neuigkeiten und behaltet Termine gemeinsam im Blick.",
    type: "website",
    locale: "de_DE",
    images: [
      {
        url: "/og-image.png",
        width: 1200,
        height: 630,
        alt: "Ein Kind spielt mit bunten Holzklötzen.",
      },
    ],
  },
  twitter: {
    card: "summary_large_image",
    title: "Der digitale Kita-Planer für Elternvereine",
    description:
      "Organisiert Dienste, teilt Neuigkeiten und behaltet Termine gemeinsam im Blick.",
    images: ["/og-image.png"],
  },
};

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html
      lang="de"
      className={`${geistSans.variable} ${geistMono.variable} h-full antialiased`}
    >
      <body className="min-h-full flex flex-col">
        {children}
        <UmamiAnalytics />
        <Toaster />
      </body>
    </html>
  );
}
