scoresaber-reloaded-v2/src/app/layout.tsx

48 lines
1.1 KiB
TypeScript
Raw Normal View History

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-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-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-20 18:23:28 +00:00
openGraph: {
2023-10-22 07:38:59 +00:00
title: ssrSettings.siteName,
2023-10-21 21:38:09 +00:00
description: "Aggregate your scores with other leaderboards together!",
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-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 07:38:59 +00:00
{children}
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
}