import type { Metadata } from "next";
import { Geist } from "next/font/google";
import { headers } from "next/headers";
import "./globals.css";

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

export async function generateMetadata(): Promise<Metadata> {
  const requestHeaders = await headers();
  const host =
    requestHeaders.get("x-forwarded-host") ??
    requestHeaders.get("host") ??
    "meniflow.openai.site";
  const protocol = requestHeaders.get("x-forwarded-proto") ??
    (host.startsWith("localhost") ? "http" : "https");
  const origin = `${protocol}://${host}`;
  const description =
    "Digitalni meni, QR poručivanje i operativni red zahteva za moderne restorane.";

  return {
    metadataBase: new URL(origin),
    title: {
      default: "MeniFlow — Restaurant OS",
      template: "%s · MeniFlow",
    },
    description,
    icons: {
      icon: "/favicon.svg",
      shortcut: "/favicon.svg",
    },
    openGraph: {
      type: "website",
      url: origin,
      title: "MeniFlow — od QR koda do vrhunske usluge",
      description,
      images: [{ url: `${origin}/og.png`, width: 1830, height: 915, alt: "MeniFlow digitalni restoran" }],
    },
    twitter: {
      card: "summary_large_image",
      title: "MeniFlow — od QR koda do vrhunske usluge",
      description,
      images: [`${origin}/og.png`],
    },
  };
}

export default function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) {
  return (
    <html lang="sr">
      <body className={geist.variable}>{children}</body>
    </html>
  );
}
