import type { Metadata } from 'next' import Script from 'next/script' import { notFound } from 'next/navigation' import { NextIntlClientProvider, hasLocale } from 'next-intl' import { getTranslations, setRequestLocale } from 'next-intl/server' import { routing } from '@/i18n/routing' import { Header } from '@/components/Header' import { Video } from '@/components/Video' import { Social } from '@/components/Social' import { Footer } from '@/components/Footer' import { CookieBanner } from '@/components/CookieConsent' import '../globals.css' export function generateStaticParams() { return routing.locales.map((locale) => ({ locale })) } // SEO por idioma (SSR) vía Metadata API. export async function generateMetadata({ params, }: { params: Promise<{ locale: string }> }): Promise { const { locale } = await params const t = await getTranslations({ locale, namespace: 'Metadata' }) return { title: t('title'), description: t('description'), openGraph: { siteName: 'NovaWoW', title: t('title'), description: t('description'), type: 'website', locale: locale === 'es' ? 'es_ES' : 'en_US', url: 'https://www.nightspire.gg/', }, } } export default async function LocaleLayout({ children, params, }: { children: React.ReactNode params: Promise<{ locale: string }> }) { const { locale } = await params if (!hasLocale(routing.locales, locale)) notFound() setRequestLocale(locale) return ( {/* Iconos del sitio (idénticos a la web Django) */} {/* Font Awesome (mismos iconos que la web Django) */} {/* Tema real de NovaWoW (nw-ryu). Va el ÚLTIMO para ganar la cascada. */} {/* Config de los tooltips de wowhead (debe definirse antes de tooltips.js). Solo tooltips: no recolorea/renombra/iconiza nuestros enlaces. El idioma del tooltip lo da el subdominio del enlace (es./www.). */}