judge4c-latest/src/app/layout.tsx

38 lines
1.0 KiB
TypeScript
Raw Normal View History

import "@/app/globals.css";
import { cn } from "@/lib/utils";
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import Header from "@/components/header";
import { Toaster } from "@/components/ui/toaster";
import { AppSidebar } from "@/components/app-sidebar";
import { SidebarInset, SidebarProvider } from "@/components/ui/sidebar";
const inter = Inter({ subsets: ["latin"], variable: "--font-sans" });
export const metadata: Metadata = {
title: "Judge4c",
description:
"A full-stack, open-source online judge platform designed to elevate college programming education",
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en">
<body className={cn("font-sans antialiased", inter.variable)}>
<SidebarProvider>
<AppSidebar />
<SidebarInset>
<Header />
<main>{children}</main>
<Toaster />
</SidebarInset>
</SidebarProvider>
</body>
</html>
);
}