| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /* 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 { getServerSideConfig } from "./config/server";
- import { GoogleTagManager, GoogleAnalytics } from "@next/third-parties/google";
- const serverConfig = getServerSideConfig();
- 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;
- }) {
- 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"></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>
- );
- }
|