mirror of
https://github.com/arthur-pbty/binouz.git
synced 2026-06-03 15:07:17 +02:00
b7010a1704
- Implemented AuthButton component for Discord sign-in and sign-out functionality. - Created CopyButton component for copying server IP addresses. - Developed EventCard and GradeCard components for displaying events and grades. - Added Footer and Navbar components for site navigation and information. - Introduced PurchaseButton for handling grade purchases with Stripe integration. - Created SectionHeader component for consistent section titles. - Implemented session management with SessionProvider for NextAuth. - Set up PostgreSQL database with Docker and Prisma for data management. - Added admin guard functionality to restrict access to certain routes. - Configured NextAuth with Discord provider for user authentication. - Defined Prisma schema for user, admin, grade, event, and purchase models. - Seeded database with initial grades and events data. - Added SVG hero image for the landing page. - Extended NextAuth types to include additional user properties.
60 lines
1.6 KiB
TypeScript
60 lines
1.6 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { JetBrains_Mono, Space_Grotesk } from "next/font/google";
|
|
import { getServerSession } from "next-auth";
|
|
import "./globals.css";
|
|
import SessionProvider from "@/components/session-provider";
|
|
import { authOptions } from "@/lib/auth";
|
|
|
|
const displayFont = Space_Grotesk({
|
|
variable: "--font-display",
|
|
subsets: ["latin"],
|
|
weight: ["400", "500", "600", "700"],
|
|
});
|
|
|
|
const monoFont = JetBrains_Mono({
|
|
variable: "--font-code",
|
|
subsets: ["latin"],
|
|
weight: ["400", "600"],
|
|
});
|
|
|
|
export const metadata: Metadata = {
|
|
title: {
|
|
default: "BinouzUHC - UHC PvP",
|
|
template: "%s | BinouzUHC",
|
|
},
|
|
description:
|
|
"Serveur UHC competitif et immersif. PvP nerveux, events reguliers et communaute engagee.",
|
|
keywords: ["Minecraft", "UHC", "PvP", "BinouzUHC", "1.8.X"],
|
|
openGraph: {
|
|
title: "BinouzUHC - UHC PvP",
|
|
description:
|
|
"Rejoignez BinouzUHC pour une experience UHC premium, events reguliers et rewards exclusifs.",
|
|
type: "website",
|
|
},
|
|
twitter: {
|
|
card: "summary_large_image",
|
|
title: "BinouzUHC - UHC PvP",
|
|
description:
|
|
"Serveur UHC competitif et immersif. PvP nerveux, events reguliers et communaute engagee.",
|
|
},
|
|
};
|
|
|
|
export default async function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
const session = await getServerSession(authOptions);
|
|
|
|
return (
|
|
<html
|
|
lang="fr"
|
|
className={`${displayFont.variable} ${monoFont.variable} h-full scroll-smooth`}
|
|
>
|
|
<body className="min-h-full bg-slate-950 text-slate-100 antialiased">
|
|
<SessionProvider session={session}>{children}</SessionProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|