subman-nextjs/src/app/layout.tsx

53 lines
1.6 KiB
TypeScript

import type { Metadata } from "next";
import { Inter } from "next/font/google";
import { ThemeProvider } from "./ui/theme";
import { Toaster } from "@/components/ui/toaster";
import "./globals.css";
import Navlinks from "./ui/navLinks";
import { ModeToggle } from "./ui/modeToggle";
const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
title: "Subman",
description: "A self-hosted literary submission tracker."
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en">
<body className={inter.className}>
<ThemeProvider
attribute="class"
defaultTheme="system"
enableSystem
disableTransitionOnChange
>
<div id="layout-container" className="p-4 w-screen h-screen mt-6 flex justify-center">
<div className="w-5/6 flex">
<div id="sidebar" className="h-5/6 flex flex-col"> <header className="">
<h1 className="font-black text-4xl text-primary-foreground bg-primary antialiased w-full p-2 rounded-tl-3xl pl-6 pr-4">SubMan</h1>
<p className="mt-2 mx-1 text-sm antialiased w-40">The self-hosted literary submission tracker.</p>
</header>
<Navlinks className="mt-6" />
<footer className="mt-auto"><ModeToggle /></footer>
</div>
<div className="flex justify-center w-full">
{children}
</div>
</div>
</div>
<Toaster />
</ThemeProvider>
</body>
</html >
);
}