mirror of
				https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
				synced 2025-11-04 16:23:41 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			72 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
/* 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"
 | 
						|
          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>
 | 
						|
  );
 | 
						|
}
 |