subman-nextjs/src/app/layout.tsx

48 lines
1.3 KiB
TypeScript
Raw Normal View History

2024-06-11 08:16:34 +00:00
import type { Metadata } from "next";
import { Inter } from "next/font/google";
2024-06-20 18:02:25 +00:00
2024-06-14 09:25:18 +00:00
import { Toaster } from "@/components/ui/toaster";
2024-06-12 12:48:37 +00:00
import "./tailwind.css";
2024-06-19 21:21:56 +00:00
import Link from "next/link";
2024-06-20 10:49:24 +00:00
import { ComponentProps } from "react";
2024-06-20 10:54:56 +00:00
import { Send } from "lucide-react";
2024-06-20 18:02:25 +00:00
import Navlinks from "./ui/navLinks";
2024-06-11 08:16:34 +00:00
const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
2024-06-12 12:59:21 +00:00
title: "Subman",
description: "A self-hosted literary submission tracker."
2024-06-11 08:16:34 +00:00
};
2024-06-20 10:49:24 +00:00
function NavLink(props: ComponentProps<"div"> & { href: string }) {
return (
<Link href={props.href}><h1 className="text-4xl font-black my-2">{props.children}</h1></Link>
)
}
2024-06-11 08:16:34 +00:00
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en">
2024-06-11 13:37:22 +00:00
<body className={inter.className}>
2024-06-20 10:49:24 +00:00
<div id="layout-container" className="flex p-4">
2024-06-19 21:21:56 +00:00
<div id="sidebar" >
2024-06-20 10:49:24 +00:00
<header className="mb-6">
2024-06-20 18:02:25 +00:00
<h1 className="font-black text-6xl antialiased inline">SubMan</h1> <Send className="inline mb-6" size={"3rem"} />
2024-06-20 10:54:56 +00:00
<p className="font-bold text-xl antialiased">The self-hosted literary<br /> submission tracker.</p>
2024-06-20 10:49:24 +00:00
</header>
2024-06-20 18:02:25 +00:00
<Navlinks />
2024-06-19 21:21:56 +00:00
</div>
{children}
2024-06-11 13:37:22 +00:00
</div>
2024-06-14 09:25:18 +00:00
<Toaster />
</body>
2024-06-19 21:21:56 +00:00
</html >
2024-06-11 08:16:34 +00:00
);
}