feat: Grundgerüst mit Anmeldung, Layout und Design-Tokens

Next.js 16, Prisma 7, Tailwind 4 und Vitest/Playwright, Konfiguration aus
Laufzettel übernommen, weil dort derselbe Stack erprobt ist.

Die Farben der Branding-Vorgabe stehen als Tokens in globals.css, das
helle Theme setzt dieselben Namen neu. Amber und Rot sind dort
abgedunkelt, sonst reicht der Kontrast nicht – ein Test prüft beide
Themes gegen 4,5:1.

Anmeldung mit lokalem Benutzer, Rolle je Anfrage aus der Datenbank,
Audit-Log per Trigger nur anhängbar. Geprüft im gebauten Stand auf
1440 px und 390 px.

Closes #001

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-12 09:23:41 +02:00
co-authored by Claude Opus 5.5
parent c3211d0fe2
commit 871bb3a77c
75 changed files with 10155 additions and 15 deletions
+31
View File
@@ -0,0 +1,31 @@
import type { Metadata } from "next";
import { Karte } from "@/components/karte";
import { Status } from "@/components/status";
import { seiteSchuetzen } from "@/server/auth/zugang";
export const metadata: Metadata = { title: "Übersicht" };
export default async function Uebersicht() {
const benutzer = await seiteSchuetzen("lesen", "/");
return (
<div className="flex flex-col gap-6">
<header>
<p className="text-muted text-sm">Willkommen, {benutzer.anzeigename}</p>
<h1 className="text-2xl font-semibold tracking-tight sm:text-3xl">Übersicht</h1>
</header>
<div className="grid gap-6 lg:grid-cols-2">
<Karte titel="Server">
<Status art="offen">Noch kein Proxmox-Server angelegt.</Status>
<p className="text-muted mt-2 text-sm">
Server lassen sich anlegen, sobald die Server-Verwaltung (#002) fertig ist.
</p>
</Karte>
<Karte titel="Letzte Deployments">
<Status art="offen">Noch keine Deployments.</Status>
</Karte>
</div>
</div>
);
}