2023-10-23 08:54:26 +00:00
|
|
|
import AppProvider from "@/components/AppProvider";
|
2023-10-22 07:38:59 +00:00
|
|
|
import { ssrSettings } from "@/ssrSettings";
|
2023-10-20 18:43:54 +00:00
|
|
|
import { Metadata } from "next";
|
2023-10-19 04:21:35 +00:00
|
|
|
import { Inter } from "next/font/google";
|
2023-10-19 13:17:55 +00:00
|
|
|
import Image from "next/image";
|
2023-10-24 11:45:40 +00:00
|
|
|
import Script from "next/script";
|
2023-10-21 21:16:46 +00:00
|
|
|
import "react-toastify/dist/ReactToastify.css";
|
2023-10-19 04:21:35 +00:00
|
|
|
import "./globals.css";
|
2023-10-18 06:58:40 +00:00
|
|
|
|
2023-10-19 13:17:55 +00:00
|
|
|
const font = Inter({ subsets: ["latin-ext"], weight: "500" });
|
2023-10-18 06:58:40 +00:00
|
|
|
|
|
|
|
export const metadata: Metadata = {
|
2023-10-24 12:45:34 +00:00
|
|
|
metadataBase: new URL(ssrSettings.siteUrl),
|
2023-10-19 04:21:35 +00:00
|
|
|
title: {
|
2023-10-22 07:38:59 +00:00
|
|
|
template: ssrSettings.siteName + " - %s",
|
|
|
|
default: ssrSettings.siteName,
|
2023-10-19 04:21:35 +00:00
|
|
|
},
|
2023-10-24 12:45:34 +00:00
|
|
|
description: ssrSettings.description,
|
2023-10-24 13:40:19 +00:00
|
|
|
keywords:
|
|
|
|
"scoresaber, score saber, scoresaber stats, score saber stats, beatleader, beat leader, " +
|
|
|
|
"scoresaber reloaded, ssr, github, score aggregation, scoresaber api, score saber api, scoresaber api",
|
2023-10-20 18:23:28 +00:00
|
|
|
openGraph: {
|
2023-10-22 07:38:59 +00:00
|
|
|
title: ssrSettings.siteName,
|
2023-10-24 12:45:34 +00:00
|
|
|
description: ssrSettings.description,
|
2023-10-22 07:38:59 +00:00
|
|
|
url: ssrSettings.siteUrl,
|
2023-10-20 18:23:28 +00:00
|
|
|
locale: "en_US",
|
|
|
|
type: "website",
|
|
|
|
},
|
2023-10-21 21:38:09 +00:00
|
|
|
themeColor: "#3B82F6",
|
2023-10-19 04:21:35 +00:00
|
|
|
};
|
2023-10-18 06:58:40 +00:00
|
|
|
|
|
|
|
export default function RootLayout({
|
|
|
|
children,
|
|
|
|
}: {
|
2023-10-19 04:21:35 +00:00
|
|
|
children: React.ReactNode;
|
2023-10-18 06:58:40 +00:00
|
|
|
}) {
|
|
|
|
return (
|
|
|
|
<html lang="en">
|
2023-10-24 11:45:40 +00:00
|
|
|
<Script
|
|
|
|
id="plausible"
|
|
|
|
defer
|
|
|
|
data-domain="ssr.fascinated.cc"
|
|
|
|
src="https://analytics.fascinated.cc/js/script.js"
|
|
|
|
/>
|
|
|
|
|
2023-10-19 13:17:55 +00:00
|
|
|
<body className={font.className}>
|
|
|
|
<div className="fixed left-0 top-0 z-0 h-full w-full blur-sm">
|
|
|
|
<Image
|
2023-10-22 01:50:14 +00:00
|
|
|
className="object-fill object-center"
|
2023-10-19 13:17:55 +00:00
|
|
|
alt="Background image"
|
2023-10-21 21:58:51 +00:00
|
|
|
src={"/assets/background.webp"}
|
2023-10-22 01:50:14 +00:00
|
|
|
fill
|
2023-10-19 13:17:55 +00:00
|
|
|
quality={100}
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
|
2023-10-22 12:47:56 +00:00
|
|
|
<AppProvider>{children}</AppProvider>
|
2023-10-19 13:17:55 +00:00
|
|
|
</body>
|
2023-10-18 06:58:40 +00:00
|
|
|
</html>
|
2023-10-19 04:21:35 +00:00
|
|
|
);
|
2023-10-18 06:58:40 +00:00
|
|
|
}
|