svrjs-nextjs-website/app/layout.tsx

65 lines
2.3 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-08-26 15:45:51 +02:00
import { Analytics } from "@vercel/analytics/react";
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: "SVRJS - 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).",
openGraph: {
title: "SVRJS - 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: "https://svrjs.org",
type: "website",
images: [
{
url: "https://svrjs.vercel.app/metadata/svrjs-cover.png",
width: 800,
height: 600,
alt: "SVRJS - A Web Server running on Node.js"
}
]
},
twitter: {
card: "summary_large_image",
site: "@SVR_JS",
title: "SVRJS - 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: ["https://svrjs.vercel.app/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" suppressHydrationWarning>
<body className={`antialiased ${poppins.className}`}>
<ThemeProvider
attribute="class"
defaultTheme="dark"
enableSystem
disableTransitionOnChange
>
{children}
<Toaster />
<Analytics />
</ThemeProvider>
</body>
</html>
);
2024-06-15 14:55:33 +02:00
}