2025-03-14 07:36:29 +00:00
|
|
|
import "@/app/globals.css";
|
|
|
|
import { Toaster } from "sonner";
|
2025-02-19 01:00:15 +00:00
|
|
|
import type { Metadata } from "next";
|
2025-02-19 13:20:25 +00:00
|
|
|
import { ThemeProvider } from "@/components/theme-provider";
|
2025-03-12 09:38:33 +00:00
|
|
|
import { SettingsDialog } from "@/components/settings-dialog";
|
2025-02-19 01:00:15 +00:00
|
|
|
|
|
|
|
export const metadata: Metadata = {
|
2025-03-25 14:01:12 +00:00
|
|
|
title: "Judge4c",
|
2025-03-07 07:11:41 +00:00
|
|
|
description:
|
2025-03-25 14:01:12 +00:00
|
|
|
"A full-stack, open-source online judge platform designed to elevate college programming education.",
|
2025-02-19 01:00:15 +00:00
|
|
|
};
|
|
|
|
|
2025-02-21 11:49:56 +00:00
|
|
|
interface RootLayoutProps {
|
2025-02-19 01:00:15 +00:00
|
|
|
children: React.ReactNode;
|
2025-02-21 11:49:56 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export default function RootLayout({ children }: RootLayoutProps) {
|
2025-02-19 01:00:15 +00:00
|
|
|
return (
|
2025-03-07 07:11:41 +00:00
|
|
|
<html lang="en" suppressHydrationWarning>
|
|
|
|
<body className="flex min-h-screen antialiased">
|
2025-02-19 13:20:25 +00:00
|
|
|
<ThemeProvider
|
|
|
|
attribute="class"
|
2025-02-19 14:40:27 +00:00
|
|
|
defaultTheme="system"
|
2025-02-19 13:20:25 +00:00
|
|
|
enableSystem
|
|
|
|
disableTransitionOnChange
|
|
|
|
>
|
2025-03-07 07:11:41 +00:00
|
|
|
<div className="w-full">{children}</div>
|
2025-03-14 07:36:29 +00:00
|
|
|
<SettingsDialog />
|
2025-03-18 14:49:06 +00:00
|
|
|
<Toaster position="top-right" />
|
2025-02-19 13:20:25 +00:00
|
|
|
</ThemeProvider>
|
2025-02-19 01:00:15 +00:00
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
);
|
|
|
|
}
|