2023-03-25 22:24:52 +08:00
|
|
|
/* eslint-disable @next/next/no-page-custom-font */
|
2023-03-19 22:13:00 +08:00
|
|
|
import "./styles/globals.scss";
|
|
|
|
import "./styles/markdown.scss";
|
2023-04-02 22:48:18 +08:00
|
|
|
import "./styles/highlight.scss";
|
2023-06-14 00:37:42 +08:00
|
|
|
import { getClientConfig } from "./config/client";
|
2024-06-16 11:17:58 +08:00
|
|
|
import type { Metadata, Viewport } from "next";
|
2023-12-28 23:10:19 +08:00
|
|
|
import { SpeedInsights } from "@vercel/speed-insights/next";
|
|
|
|
import { getServerSideConfig } from "./config/server";
|
2024-08-16 16:10:31 +08:00
|
|
|
import { GoogleTagManager, GoogleAnalytics } from "@next/third-parties/google";
|
2023-12-28 23:10:19 +08:00
|
|
|
const serverConfig = getServerSideConfig();
|
2023-03-07 23:23:54 +08:00
|
|
|
|
2023-07-16 21:34:01 +08:00
|
|
|
export const metadata: Metadata = {
|
2024-05-20 19:02:46 +08:00
|
|
|
title: "NextChat",
|
2023-03-25 22:24:52 +08:00
|
|
|
description: "Your personal ChatGPT Chat Bot.",
|
2024-06-16 11:17:58 +08:00
|
|
|
appleWebApp: {
|
|
|
|
title: "NextChat",
|
|
|
|
statusBarStyle: "default",
|
2023-05-12 19:23:49 +08:00
|
|
|
},
|
2024-06-16 11:17:58 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
export const viewport: Viewport = {
|
|
|
|
width: "device-width",
|
|
|
|
initialScale: 1,
|
|
|
|
maximumScale: 1,
|
2023-05-12 19:23:49 +08:00
|
|
|
themeColor: [
|
|
|
|
{ media: "(prefers-color-scheme: light)", color: "#fafafa" },
|
|
|
|
{ media: "(prefers-color-scheme: dark)", color: "#151515" },
|
|
|
|
],
|
2023-03-10 01:01:40 +08:00
|
|
|
};
|
2023-03-07 23:23:54 +08:00
|
|
|
|
|
|
|
export default function RootLayout({
|
|
|
|
children,
|
|
|
|
}: {
|
2023-03-10 01:01:40 +08:00
|
|
|
children: React.ReactNode;
|
2023-03-07 23:23:54 +08:00
|
|
|
}) {
|
|
|
|
return (
|
2023-03-16 01:24:03 +08:00
|
|
|
<html lang="en">
|
2023-03-20 14:06:29 +08:00
|
|
|
<head>
|
2023-06-14 00:37:42 +08:00
|
|
|
<meta name="config" content={JSON.stringify(getClientConfig())} />
|
2024-08-16 16:10:31 +08:00
|
|
|
<meta
|
|
|
|
name="viewport"
|
|
|
|
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
|
|
|
|
/>
|
2024-09-18 10:39:56 +08:00
|
|
|
<link
|
|
|
|
rel="manifest"
|
|
|
|
href="/site.webmanifest"
|
|
|
|
crossOrigin="use-credentials"
|
|
|
|
></link>
|
2023-03-27 18:02:35 +08:00
|
|
|
<script src="/serviceWorkerRegister.js" defer></script>
|
2023-03-20 14:06:29 +08:00
|
|
|
</head>
|
2023-12-28 23:10:19 +08:00
|
|
|
<body>
|
|
|
|
{children}
|
|
|
|
{serverConfig?.isVercel && (
|
|
|
|
<>
|
|
|
|
<SpeedInsights />
|
|
|
|
</>
|
|
|
|
)}
|
2024-01-22 15:06:41 +08:00
|
|
|
{serverConfig?.gtmId && (
|
|
|
|
<>
|
|
|
|
<GoogleTagManager gtmId={serverConfig.gtmId} />
|
|
|
|
</>
|
|
|
|
)}
|
2024-08-16 16:10:31 +08:00
|
|
|
{serverConfig?.gaId && (
|
|
|
|
<>
|
|
|
|
<GoogleAnalytics gaId={serverConfig.gaId} />
|
|
|
|
</>
|
|
|
|
)}
|
2023-12-28 23:10:19 +08:00
|
|
|
</body>
|
2023-03-07 23:23:54 +08:00
|
|
|
</html>
|
2023-03-10 01:01:40 +08:00
|
|
|
);
|
2023-03-07 23:23:54 +08:00
|
|
|
}
|