import type React from "react"
import type { Metadata } from "next"
import { Inter, JetBrains_Mono } from "next/font/google"
import { Analytics } from "@vercel/analytics/next"
import { Toaster } from "@/components/ui/toaster"
import { NotificationsProvider } from "@/lib/notifications-context"
import { UserProvider } from "@/lib/user-context"
import "./globals.css"

const inter = Inter({
  subsets: ["latin"],
  variable: "--font-sans",
  display: "swap",
})

const jetbrainsMono = JetBrains_Mono({
  subsets: ["latin"],
  variable: "--font-mono",
  display: "swap",
})

export const metadata: Metadata = {
  title: "UTMGradient - Post Graduate Supervision System",
  description:
    "A comprehensive system for managing postgraduate thesis supervision, meetings, and progress tracking at UTM",
  generator: "v0.app",
}

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode
}>) {
  return (
    <html lang="en" className={`${inter.variable} ${jetbrainsMono.variable}`}>
      <body className="font-sans antialiased">
        <UserProvider>
          {children}
          <Toaster />
          <Analytics />
        </UserProvider>
      </body>
    </html>
  )
}
