/* eslint-disable @next/next/no-page-custom-font */ import "./styles/globals.scss"; import "./styles/markdown.scss"; import "./styles/highlight.scss"; import { getClientConfig } from "./config/client"; import type { Metadata, Viewport } from "next"; import { SpeedInsights } from "@vercel/speed-insights/next"; import { GoogleTagManager, GoogleAnalytics } from "@next/third-parties/google"; import { getServerSideConfig } from "./config/server"; export const metadata: Metadata = { title: "NextChat", description: "Your personal ChatGPT Chat Bot.", appleWebApp: { title: "NextChat", statusBarStyle: "default", }, }; export const viewport: Viewport = { width: "device-width", initialScale: 1, maximumScale: 1, themeColor: [ { media: "(prefers-color-scheme: light)", color: "#fafafa" }, { media: "(prefers-color-scheme: dark)", color: "#151515" }, ], }; export default function RootLayout({ children, }: { children: React.ReactNode; }) { const serverConfig = getServerSideConfig(); return ( <html lang="en"> <head> <meta name="config" content={JSON.stringify(getClientConfig())} /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <link rel="manifest" href="/site.webmanifest" crossOrigin="use-credentials" ></link> <script src="/serviceWorkerRegister.js" defer></script> </head> <body> {children} {serverConfig?.isVercel && ( <> <SpeedInsights /> </> )} {serverConfig?.gtmId && ( <> <GoogleTagManager gtmId={serverConfig.gtmId} /> </> )} {serverConfig?.gaId && ( <> <GoogleAnalytics gaId={serverConfig.gaId} /> </> )} </body> </html> ); }