svrjs-nextjs-website/app/layout.tsx

65 lines
2.5 KiB
TypeScript
Raw Normal View History

2024-06-15 14:55:33 +02:00
import type { Metadata } from "next";
import { Poppins } from "next/font/google";
import "./globals.css";
import { ThemeProvider } from "@/components/shared/providers/themeprovider";
2024-07-03 19:47:51 +02:00
import { Toaster } from "@/components/ui/toaster";
2024-09-08 14:34:54 +02:00
import Analytics from "@/components/shared/providers/Analytics";
2024-06-15 14:55:33 +02:00
const poppins = Poppins({
weight: ["400", "600", "700", "900"],
subsets: ["latin"]
2024-06-15 14:55:33 +02:00
});
export const metadata: Metadata = {
title: "SVR.JS - a web server running on Node.JS",
description:
"Experience unparalleled flexibility with SVR.JS - the ultimate web server for Node.JS. Host web pages, run server-side JavaScript, utilize mods for extended functionality, and more. Integrated log viewer and user management tools included. Also supports Bun (experimental).",
2024-11-25 07:11:36 +01:00
alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}` },
openGraph: {
title: "SVR.JS - a web server running on Node.JS",
description:
"Experience unparalleled flexibility with SVR.JS - the ultimate web server for Node.JS. Host web pages, run server-side JavaScript, utilize mods for extended functionality, and more. Integrated log viewer and user management tools included. Also supports Bun (experimental).",
url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}`,
type: "website",
images: [
{
url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`,
width: 800,
height: 600,
alt: "SVR.JS - a web server running on Node.JS"
}
]
},
twitter: {
card: "summary_large_image",
site: "@SVR_JS",
title: "SVR.JS - a web server running on Node.JS",
description:
"Experience unparalleled flexibility with SVR.JS - the ultimate web server for Node.JS. Host web pages, run server-side JavaScript, utilize mods for extended functionality, and more. Integrated log viewer and user management tools included. Also supports Bun (experimental).",
images: [`${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`],
creator: "@SVR_JS"
}
2024-06-15 14:55:33 +02:00
};
export default function RootLayout({
children
2024-06-15 14:55:33 +02:00
}: Readonly<{
children: React.ReactNode;
2024-06-15 14:55:33 +02:00
}>) {
return (
<html lang="en-US" suppressHydrationWarning>
<body className={`antialiased ${poppins.className}`}>
<ThemeProvider
attribute="class"
2024-09-18 10:32:14 +02:00
enableSystem={true}
disableTransitionOnChange
>
{children}
<Toaster />
<Analytics pagesRouter={false} />
</ThemeProvider>
</body>
</html>
);
2024-06-15 14:55:33 +02:00
}