52 lines
1.5 KiB
TypeScript
52 lines
1.5 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { Inter } from "next/font/google";
|
|
|
|
import { Toaster } from "@/components/ui/toaster";
|
|
import "./tailwind.css";
|
|
import Link from "next/link";
|
|
import { ComponentProps } from "react";
|
|
import { Send } from "lucide-react";
|
|
import Navlinks from "./ui/navLinks";
|
|
|
|
const inter = Inter({ subsets: ["latin"] });
|
|
|
|
export const metadata: Metadata = {
|
|
title: "Subman",
|
|
description: "A self-hosted literary submission tracker."
|
|
};
|
|
|
|
function NavLink(props: ComponentProps<"div"> & { href: string }) {
|
|
return (
|
|
<Link href={props.href}><h1 className="text-4xl font-black my-2">{props.children}</h1></Link>
|
|
)
|
|
}
|
|
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
return (
|
|
<html lang="en">
|
|
<body className={inter.className}>
|
|
<div id="layout-container" className="p-4 w-screen mt-6 flex justify-center">
|
|
<div className="grid grid-cols-6 w-5/6">
|
|
<div id="sidebar" className="col-start-1 col-end-2">
|
|
<header className="">
|
|
<h1 className="font-black text-4xl antialiased inline">SubMan</h1>
|
|
<p className="font-bold text-m antialiased">The self-hosted literary submission tracker.</p>
|
|
</header>
|
|
<Navlinks />
|
|
</div>
|
|
<div className="col-start-2 col-span-full">
|
|
{children}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<Toaster />
|
|
</body>
|
|
</html >
|
|
);
|
|
}
|