import type { Metadata } from "next"; import Script from "next/script"; import { AppShell } from "@/components/layout/AppShell"; import { getRequestOrigin, OG_DEFAULT_IMAGE, SITE_NAME } from "@/lib/seo"; import "./globals.css"; export const instant = false; const GTM_ID = process.env.NEXT_PUBLIC_GTM_ID?.trim() || ""; const YANDEX_METRIKA_ID = process.env.NEXT_PUBLIC_YANDEX_METRIKA_ID?.trim() || ""; /** metadataBase 随请求 Host 变化,保证 og:image 为绝对地址 */ export async function generateMetadata(): Promise { const origin = await getRequestOrigin(); return { metadataBase: new URL(origin), title: { default: "黄果短剧", template: "%s", }, description: "黄果短剧,发现值得一看的短剧。", applicationName: SITE_NAME, openGraph: { type: "website", locale: "zh_CN", siteName: SITE_NAME, images: [{ url: OG_DEFAULT_IMAGE, alt: SITE_NAME, width: 700, height: 400 }], }, twitter: { card: "summary_large_image", images: [OG_DEFAULT_IMAGE], }, icons: { icon: "/favicon.png" }, verification: { yandex: "2cd6a987a1bb3b58", other: { "msvalidate.01": "431F89B229D3A00661DAF708E5C24BC0", }, }, }; } export default function RootLayout({ children }: { children: React.ReactNode }) { return ( {children} {GTM_ID ? ( <> ) : null} ); }