subman-nextjs/src/app/layout.tsx

48 lines
1.3 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="flex p-4">
<div id="sidebar" >
<header className="mb-6">
<h1 className="font-black text-6xl antialiased inline">SubMan</h1> <Send className="inline mb-6" size={"3rem"} />
<p className="font-bold text-xl antialiased">The self-hosted literary<br /> submission tracker.</p>
</header>
<Navlinks />
</div>
{children}
</div>
<Toaster />
</body>
</html >
);
}