import type { Metadata } from "next"; import { Inter, Playfair_Display, Caveat, Lora } from "next/font/google"; import "./globals.css"; import { Navbar } from "./components/Navbar"; import { CartFlyProvider } from "./components/CartFly"; import { CartSync } from "./components/CartSync"; import { getProducts } from "./lib/payload"; const inter = Inter({ variable: "--font-inter", subsets: ["latin"], weight: ["400", "500", "600", "700"], }); const playfair = Playfair_Display({ variable: "--font-playfair", subsets: ["latin"], weight: ["600", "700", "800"], }); const caveat = Caveat({ variable: "--font-caveat", subsets: ["latin"], weight: ["700"], }); const lora = Lora({ variable: "--font-lora", subsets: ["latin"], weight: ["400", "600"], }); export const metadata: Metadata = { metadataBase: new URL("https://einfach-produktiv.mk360.de"), title: { default: "einfach produktiv. – Werkzeuge und Impulse für einen leichteren Alltag", template: "%s | einfach produktiv.", }, description: "Werkzeuge, Impulse und ein Blog für mehr Klarheit im Alltag.", openGraph: { siteName: "einfach produktiv.", locale: "de_DE", type: "website", }, twitter: { card: "summary_large_image", }, }; export default async function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { // Same 60s-ISR-cached call every other page already makes — reused here // just to know whether Navbar's "Shop" link should behave as an anchor // to the homepage spotlight instead of a real /shop navigation (see // Navbar.tsx/ProductSpotlight.tsx). const products = await getProducts(); const singleActiveProduct = products.filter((p) => p.active).length === 1; return ( {children} ); }