import type { Metadata } from "next"; import { Geist, Geist_Mono } from "next/font/google"; import { headers } from "next/headers"; import "./globals.css"; const geistSans = Geist({ variable: "--font-geist-sans", subsets: ["latin"], }); const geistMono = Geist_Mono({ variable: "--font-geist-mono", subsets: ["latin"], }); export async function generateMetadata(): Promise { const requestHeaders = await headers(); const host = requestHeaders.get("x-forwarded-host") || requestHeaders.get("host"); const protocol = requestHeaders.get("x-forwarded-proto") || (host?.startsWith("localhost") ? "http" : "https"); const metadataBase = host ? new URL(`${protocol}://${host}`) : new URL("https://koc-task.example.com"); const description = "领取KOC内容任务,逐篇查看笔记详情并一一回填发布账号、链接与截图。"; return { metadataBase, title: "KOC LOOP|外部任务领取", description, robots: { index: false, follow: false, noarchive: true, nosnippet: true, }, referrer: "no-referrer", icons: { icon: "/favicon.svg", shortcut: "/favicon.svg", }, openGraph: { title: "KOC LOOP|外部任务领取", description, type: "website", images: [ { url: new URL("/og.png", metadataBase).toString(), width: 1200, height: 630, alt: "KOC LOOP 外部任务领取与逐篇回填", }, ], }, twitter: { card: "summary_large_image", title: "KOC LOOP|外部任务领取", description, images: [new URL("/og.png", metadataBase).toString()], }, }; } export default function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { return ( {children} ); }