Alter Maintenance-Screen hinzugefügt
This commit is contained in:
@@ -7,6 +7,7 @@ import { Toaster } from "react-hot-toast";
|
||||
import { QueryProvider } from "_components/QueryProvider";
|
||||
import { prisma } from "@repo/db";
|
||||
import { Error as ErrorComp } from "_components/Error";
|
||||
import { Maintenance } from "@repo/shared-components";
|
||||
|
||||
const geistSans = localFont({
|
||||
src: "./fonts/GeistVF.woff",
|
||||
@@ -29,21 +30,10 @@ export default async function RootLayout({
|
||||
}>) {
|
||||
const session = await getServerSession();
|
||||
|
||||
const latestNotam = await prisma.notam.findFirst({
|
||||
orderBy: { createdAt: "desc" },
|
||||
const config = 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 (
|
||||
<html lang="de" data-theme="dark">
|
||||
<body
|
||||
@@ -70,19 +60,12 @@ export default async function RootLayout({
|
||||
{session?.user.isBanned && (
|
||||
<ErrorComp title="You are banned from using this service" statusCode={403} />
|
||||
)}
|
||||
{config?.maintenanceEnabled && !session?.user.permissions.includes("ADMIN_MESSAGE") && (
|
||||
<Maintenance message={config?.message} />
|
||||
)}
|
||||
{!session?.user.isBanned &&
|
||||
wartungsarbeiten &&
|
||||
!session?.user.permissions.includes("ADMIN_MESSAGE") && (
|
||||
<ErrorComp
|
||||
title={
|
||||
latestNotam?.message ||
|
||||
"Wir führen aktuell Wartungsarbeiten am System durch, versuche es später erneut."
|
||||
}
|
||||
statusCode={503}
|
||||
/>
|
||||
)}
|
||||
{!session?.user.isBanned &&
|
||||
(!wartungsarbeiten || session?.user.permissions.includes("ADMIN_MESSAGE")) &&
|
||||
(!config?.maintenanceEnabled ||
|
||||
session?.user.permissions.includes("ADMIN_MESSAGE")) &&
|
||||
children}
|
||||
</NextAuthSessionProvider>
|
||||
</QueryProvider>
|
||||
|
||||
Reference in New Issue
Block a user