import type { Metadata, Viewport } from "next"; import { SessionProvider } from "@/providers/session-provider"; import { geistSans, geistMono, athelas } from "@/core/fonts"; import "./globals.css"; import { SwRegister } from "@/app/_components/core/sw-register"; import { RootProviders } from "@/providers/root-providers"; export const metadata: Metadata = { title: "cozsweet", description: "cozsweet frontend (Next.js)", // PWA:链接到 public/manifest.json(由 @ducanh2912/next-pwa 体系使用) manifest: "/manifest.json", // iOS Safari "添加到主屏" 元数据 appleWebApp: { capable: true, statusBarStyle: "default", title: "cozsweet", }, // iOS 触屏图标 icons: { icon: "/favicon.ico", apple: "/favicon.ico", }, }; /** * Next.js 14+ 推荐:viewport 相关元数据独立导出。 * 之前放在 `metadata.themeColor` 会在 Next.js 16 触发 deprecation 警告。 * 详见 https://nextjs.org/docs/app/api-reference/functions/generate-viewport */ export const viewport: Viewport = { // 浏览器顶栏 / Android PWA 顶栏颜色 themeColor: "#f84d96", }; export default function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { return ( // suppressHydrationWarning:next/font + Tailwind v4 偶发类名差异;详见 // `src/app/api/auth/[...nextauth]/route.ts` 的"水合闪屏"说明。
{/* NextAuth SessionProvider:为所有客户端组件提供 useSession() 上下文 */}