import type { Metadata, Viewport } from "next"; import { Geist, Geist_Mono } from "next/font/google"; import "./globals.css"; import Header from "../components/Header"; import Footer from "../components/Footer"; import { ThemeProvider } from "../components/ThemeProvider"; import { siteConfig } from "../config/site"; import { common } from "../content"; const geistSans = Geist({ variable: "--font-geist-sans", subsets: ["latin"], }); const geistMono = Geist_Mono({ variable: "--font-geist-mono", subsets: ["latin"], }); export const metadata: Metadata = { // WHY metadataBase: without it Next resolves relative OG/twitter image URLs // against localhost, producing broken social previews in production. metadataBase: new URL(siteConfig.general.url), title: `${siteConfig.general.name} | ${siteConfig.general.description}`, description: siteConfig.general.description, authors: [{ name: siteConfig.general.name }], keywords: ["web hosting", "email szolgáltatás", "DNS adminisztráció", "IT szolgáltatás", "mozdIT"], openGraph: { title: siteConfig.general.name, description: siteConfig.general.description, url: siteConfig.general.url, siteName: siteConfig.general.name, images: [ { url: siteConfig.general.ogImage, width: 1200, height: 630, alt: siteConfig.general.name, }, ], locale: siteConfig.general.locale, type: "website", }, twitter: { card: "summary_large_image", title: siteConfig.general.name, description: siteConfig.general.description, images: [siteConfig.general.ogImage], }, robots: { index: true, follow: true, googleBot: { index: true, follow: true, "max-video-preview": -1, "max-image-preview": "large", "max-snippet": -1, }, }, }; // Keep Safari's browser chrome neutral; only the in-page staging strip is amber. export const viewport: Viewport = { themeColor: '#ffffff', }; export default function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { const isStaging = process.env.NEXT_PUBLIC_DEPLOY_ENV === 'staging'; return (