import type { Metadata } from "next"; import Script from "next/script"; import { notFound } from "next/navigation"; import { isLocale, locales } from "@/i18n/config"; import { SmoothScroll } from "@/components/providers/SmoothScroll"; import "@/styles/globals.css"; // The brand uses Neue Haas Grotesk Display Pro (display + body) and Fragment Mono // (labels/specs), with Zen Kaku Gothic New as the JP fallback. All come from the // ripped font files via @font-face in globals.css. (Poppins is not used.) export function generateStaticParams() { return locales.map((locale) => ({ locale })); } export const metadata: Metadata = { metadataBase: new URL("https://bigscreenvr.com"), title: { default: "Bigscreen Beyond 2 — The world's smallest VR headset", template: "%s — Bigscreen", }, description: "Bigscreen Beyond 2 is the world's smallest VR headset, with advanced pancake optics, dual micro-OLED displays, and adjustable IPD.", }; export default async function LocaleLayout({ children, params, }: { children: React.ReactNode; params: Promise<{ locale: string }>; }) { const { locale } = await params; if (!isLocale(locale)) notFound(); return ( {/* GA4 + ad pixels — same IDs as the static mirror; they also live in scripts/build-pages.mjs (gaTag / pixelTags) — change both together. */}