36 lines
1.6 KiB
TypeScript
36 lines
1.6 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { Geist, Geist_Mono } from "next/font/google";
|
|
import "./globals.css";
|
|
import { AuthProvider } from "@/components/AuthProvider";
|
|
import { Navbar } from "@/components/Navbar";
|
|
|
|
const geistSans = Geist({ variable: "--font-geist-sans", subsets: ["latin"] });
|
|
const geistMono = Geist_Mono({ variable: "--font-geist-mono", subsets: ["latin"] });
|
|
|
|
export const metadata: Metadata = {
|
|
title: "BaraBingo — Barotrauma Bingo",
|
|
description: "Chaotic bingo for Barotrauma crews",
|
|
};
|
|
|
|
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
return (
|
|
<html lang="en" className="dark">
|
|
<body className={`${geistSans.variable} ${geistMono.variable} antialiased`}>
|
|
<AuthProvider>
|
|
<Navbar />
|
|
<main className="container mx-auto px-4 py-6 max-w-5xl">
|
|
{children}
|
|
</main>
|
|
{/* Floating bubbles */}
|
|
<div className="fixed bottom-0 left-0 w-full pointer-events-none z-0 opacity-[0.03]">
|
|
<div className="animate-float mx-auto w-16 h-16 rounded-full bg-cyan-400 blur-xl" style={{ marginLeft: '10%', animationDelay: '0s' }} />
|
|
<div className="animate-float mx-auto w-8 h-8 rounded-full bg-cyan-400 blur-lg" style={{ marginLeft: '30%', animationDelay: '1s' }} />
|
|
<div className="animate-float mx-auto w-12 h-12 rounded-full bg-cyan-400 blur-xl" style={{ marginLeft: '60%', animationDelay: '2s' }} />
|
|
<div className="animate-float mx-auto w-6 h-6 rounded-full bg-cyan-400 blur-md" style={{ marginLeft: '80%', animationDelay: '0.5s' }} />
|
|
</div>
|
|
</AuthProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|