From 44d51cd1a8ae06c5c1c0c2a2b26e9ea2d6841565 Mon Sep 17 00:00:00 2001 From: nocnico Date: Thu, 3 Jul 2025 21:23:37 +0200 Subject: [PATCH] Wartungsmodus funktional #9 --- .../dispatch/_components/navbar/Navbar.tsx | 19 +++++++ apps/dispatch/app/layout.tsx | 32 +++++++++++- apps/hub/app/_components/ui/PageAlert.tsx | 10 +++- apps/hub/app/layout.tsx | 49 +++++++++++++++---- 4 files changed, 98 insertions(+), 12 deletions(-) diff --git a/apps/dispatch/app/(app)/dispatch/_components/navbar/Navbar.tsx b/apps/dispatch/app/(app)/dispatch/_components/navbar/Navbar.tsx index ca043ebc..a688b474 100644 --- a/apps/dispatch/app/(app)/dispatch/_components/navbar/Navbar.tsx +++ b/apps/dispatch/app/(app)/dispatch/_components/navbar/Navbar.tsx @@ -8,16 +8,35 @@ import { Settings } from "_components/navbar/Settings"; import ModeSwitchDropdown from "_components/navbar/ModeSwitchDropdown"; import AdminPanel from "_components/navbar/AdminPanel"; import { getServerSession } from "api/auth/[...nextauth]/auth"; +import { prisma } from "@repo/db"; export default async function Navbar() { const session = await getServerSession(); + const latestNotam = await prisma.notam.findFirst({ + orderBy: { createdAt: "desc" }, + }); + + let wartungsarbeiten = false; + if ( + latestNotam && + latestNotam.wartungsmodus && + latestNotam.active && + ((latestNotam.showUntilActive && new Date(latestNotam.showUntil) > new Date()) || + !latestNotam.showUntilActive) + ) { + wartungsarbeiten = true; + } + return (
{session?.user.permissions.includes("ADMIN_KICK") && }
+ {wartungsarbeiten && ( +

Wartungsmodus aktiv!

+ )}