Global Messages
This commit is contained in:
@@ -7,10 +7,11 @@ import {
|
||||
ReaderIcon,
|
||||
} from "@radix-ui/react-icons";
|
||||
import Link from "next/link";
|
||||
import { WarningAlert } from "./ui/PageAlert";
|
||||
|
||||
export const VerticalNav = () => {
|
||||
return (
|
||||
<ul className="menu w-64 bg-base-300 p-4 rounded-lg shadow-md">
|
||||
<ul className="menu w-64 bg-base-300 p-3 rounded-lg shadow-md font-semibold">
|
||||
<li>
|
||||
<Link href="/">
|
||||
<HomeIcon /> Dashboard
|
||||
@@ -50,6 +51,9 @@ export const VerticalNav = () => {
|
||||
<li>
|
||||
<Link href="/admin/event">Events</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/admin/message">Service Nachrichten</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
@@ -63,6 +67,7 @@ export const HorizontalNav = () => (
|
||||
<a className="btn btn-ghost normal-case text-xl">
|
||||
Virtual Air Rescue - HUB
|
||||
</a>
|
||||
<WarningAlert />
|
||||
</div>
|
||||
<div className="flex items-center ml-auto">
|
||||
<ul className="flex space-x-2 px-1">
|
||||
|
||||
57
apps/hub/app/_components/ui/PageAlert.tsx
Normal file
57
apps/hub/app/_components/ui/PageAlert.tsx
Normal file
@@ -0,0 +1,57 @@
|
||||
import { prisma } from "@repo/db";
|
||||
const fetchMainMessage = async () => {
|
||||
return await prisma.message.findFirst({
|
||||
where: {
|
||||
active: true,
|
||||
isMainMsg: true,
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const mainMessage = await fetchMainMessage();
|
||||
|
||||
let msgColor;
|
||||
switch (mainMessage?.color) {
|
||||
case "WARNING":
|
||||
msgColor = "alert alert-warning ml-3";
|
||||
break;
|
||||
case "INFO":
|
||||
msgColor = "alert alert-info ml-3";
|
||||
break;
|
||||
case "SUCCESS":
|
||||
msgColor = "alert alert-success ml-3";
|
||||
break;
|
||||
case "ERROR":
|
||||
msgColor = "alert alert-error ml-3";
|
||||
break;
|
||||
default:
|
||||
msgColor = "alert ml-3";
|
||||
}
|
||||
|
||||
export const WarningAlert = () => {
|
||||
if (mainMessage?.message == "" || !mainMessage) {
|
||||
return <></>;
|
||||
} else {
|
||||
return (
|
||||
<div role="alert" className={msgColor}>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
className="h-6 w-6 shrink-0 stroke-current"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<path
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
strokeWidth="2"
|
||||
d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
|
||||
/>
|
||||
</svg>
|
||||
<span className="font-bold">{mainMessage?.message}</span>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
/* ACHTUNG! Wir führen am kommenden Samstag Wartungsarbeiten am Server
|
||||
durch, von 19:00 Uhr bis 19:30 Uhr wird das HUB nicht erreichbar sein. */
|
||||
Reference in New Issue
Block a user