64 lines
1.7 KiB
TypeScript
64 lines
1.7 KiB
TypeScript
import { Metadata, Viewport } from "next";
|
|
import Script from "next/script";
|
|
import { ReactElement } from "react";
|
|
import Container from "./components/container";
|
|
import ThemeProvider from "./components/theme-provider";
|
|
import { Toaster } from "./components/ui/toaster";
|
|
import { TooltipProvider } from "./components/ui/tooltip";
|
|
|
|
import "./globals.css";
|
|
import config from "@root/config.json";
|
|
import { inter } from "@/app/font/fonts";
|
|
|
|
export const viewport: Viewport = {
|
|
themeColor: "#3498DB",
|
|
};
|
|
|
|
export const metadata: Metadata = {
|
|
metadataBase: new URL(config.siteUrl),
|
|
title: {
|
|
template: config.siteName + " - %s",
|
|
default: config.siteName,
|
|
},
|
|
description: config.siteDescription,
|
|
keywords: "Minecraft, APIs, wrapper, utility, development",
|
|
openGraph: {
|
|
title: config.siteName,
|
|
description: config.siteDescription,
|
|
url: config.siteUrl,
|
|
locale: "en_US",
|
|
type: "website",
|
|
images: [
|
|
{
|
|
url: "https://git.fascinated.cc/MinecraftUtilities/Assets/raw/branch/master/logo.png",
|
|
},
|
|
],
|
|
},
|
|
twitter: {
|
|
card: "summary",
|
|
},
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>): ReactElement {
|
|
return (
|
|
<>
|
|
<Script defer data-domain="mcutils.xyz" src="https://analytics.fascinated.cc/js/script.js" />
|
|
<html className={inter.className} lang="en" suppressHydrationWarning>
|
|
<head />
|
|
<body>
|
|
<ThemeProvider attribute="class" defaultTheme="dark" enableSystem disableTransitionOnChange>
|
|
<TooltipProvider>
|
|
<Toaster />
|
|
<Container>{children}</Container>
|
|
</TooltipProvider>
|
|
</ThemeProvider>
|
|
</body>
|
|
</html>
|
|
</>
|
|
);
|
|
}
|