deep-research / src /app /layout.tsx
Leon4gr45's picture
Deploy app
c16e487 verified
import SWUnregister from "@/components/Internal/SWUnregister";
import type { Metadata, Viewport } from "next";
import Script from "next/script";
import ThemeProvider from "@/components/Provider/Theme";
import I18Provider from "@/components/Provider/I18n";
import Debugger from "@/components/Internal/Debugger";
import { Toaster } from "@/components/ui/sonner";
import "./globals.css";
const HEAD_SCRIPTS = process.env.HEAD_SCRIPTS as string;
const APP_NAME = "Deep Research";
const APP_DEFAULT_TITLE = "Deep Research";
const APP_TITLE_TEMPLATE = "%s - PWA App";
const APP_DESCRIPTION =
"Use any LLMs (Large Language Models) for Deep Research.";
export const metadata: Metadata = {
applicationName: APP_NAME,
title: {
default: APP_DEFAULT_TITLE,
template: APP_TITLE_TEMPLATE,
},
icons: {
icon: {
type: "image/svg+xml",
url: "./logo.svg",
},
},
description: APP_DESCRIPTION,
appleWebApp: {
capable: true,
statusBarStyle: "default",
title: APP_DEFAULT_TITLE,
// startUpImage: [],
},
formatDetection: {
telephone: false,
},
openGraph: {
type: "website",
siteName: APP_NAME,
title: {
default: APP_DEFAULT_TITLE,
template: APP_TITLE_TEMPLATE,
},
description: APP_DESCRIPTION,
},
twitter: {
card: "summary",
title: {
default: APP_DEFAULT_TITLE,
template: APP_TITLE_TEMPLATE,
},
description: APP_DESCRIPTION,
},
};
export const viewport: Viewport = {
width: "device-width",
initialScale: 1.0,
minimumScale: 1.0,
maximumScale: 1.0,
viewportFit: "cover",
userScalable: false,
themeColor: "#FFFFFF",
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en" dir="auto" suppressHydrationWarning>
<head>
{HEAD_SCRIPTS ? <Script id="headscript">{HEAD_SCRIPTS}</Script> : null}
<Debugger />
<SWUnregister />
</head>
<body className="antialiased" suppressHydrationWarning>
<ThemeProvider
attribute="class"
defaultTheme="system"
enableSystem
disableTransitionOnChange
>
<I18Provider>{children}</I18Provider>
</ThemeProvider>
<Toaster richColors toastOptions={{ duration: 3000 }} />
</body>
</html>
);
}