layout.tsx (984B)
1 import type React from "react" 2 import "@/app/globals.css" 3 import { Inter } from "next/font/google" 4 import { ThemeProvider } from "@/components/theme-provider" 5 import { SessionProvider } from "@/contexts/session-context" 6 import { Suspense } from "react" 7 8 const inter = Inter({ subsets: ["latin"] }) 9 10 export const metadata = { 11 title: "Matrix Moderator - Secure Moderation for Matrix", 12 description: "Powerful moderation tools for Matrix communities using Draupnir bots.", 13 } 14 15 export default function RootLayout({ 16 children, 17 }: Readonly<{ 18 children: React.ReactNode 19 }>) { 20 21 22 return ( 23 <html lang="en" className="dark" style={{ colorScheme: "dark" }}> 24 <body className={inter.className}> 25 <ThemeProvider attribute="class" defaultTheme="dark" enableSystem disableTransitionOnChange> 26 <Suspense> 27 <SessionProvider> 28 {children} 29 </SessionProvider> 30 </Suspense> 31 </ThemeProvider> 32 </body> 33 </html> 34 ) 35 }