This commit is contained in:
2025-04-08 04:05:57 +02:00
parent cdd9f01214
commit 87832f46a3
14 changed files with 155 additions and 42 deletions

View File

@@ -1,11 +1,9 @@
import "~/styles/globals.css";
import Link from "next/link";
import type { Metadata } from "next";
import { Geist } from "next/font/google";
import { ClerkProvider, SignedIn, SignedOut, SignUpButton, UserButton } from "@clerk/nextjs";
import { auth } from "@clerk/nextjs/server";
import { env } from "~/env";
import { ClerkProvider } from "@clerk/nextjs";
import TopNav from "./_components/TopNav";
export const metadata: Metadata = {
title: "Gregor Lohaus",
description: "My Personal Website",
@@ -17,45 +15,18 @@ const geist = Geist({
variable: "--font-geist-sans",
});
const AdminWrap = async ({children,}: Readonly<{ children: React.ReactNode }>) => {
const userid = (await auth()).userId
const isAdmin = (userid == env.ADMIN_USER_CLERK_ID)
if (isAdmin) {
return <>{children}</>
}
return (<></>)
}
const TopNav = async () => {
return (
<nav className="flex flex-wrap items-center w-full border-b px-5 py-5 gap-5 bg-black text-white border-white">
<Link className="h-fit" href={"/blog"}> Blog </Link>
<Link className="h-fit" href={"/cv"}> CV </Link>
<Link className="h-fit" href={"/projects"}> Projects </Link>
<Link className="h-fit" href={"/fun"}> Fun </Link>
<div className="ml-auto"/>
<AdminWrap><Link className="h-fit" href={"/admin"}> Admin </Link></AdminWrap>
<div className="h-fit flex">
<SignedIn>
<UserButton/>
</SignedIn>
<SignedOut>
<SignUpButton/>
</SignedOut>
</div>
</nav>
)
}
export default function RootLayout({
children,
}: Readonly<{ children: React.ReactNode }>) {
modal
}: Readonly<{ children: React.ReactNode, modal: React.ReactNode }>) {
return (
<ClerkProvider>
<html lang="en" className={`${geist.variable}`}>
<body className="flex flex-col gap-2 bg-black text-white">
<TopNav/>
{children}
{modal}
</body>
</html>
</ClerkProvider>