Files
Laufzettel/src/app/(app)/admin/schnellstart/page.tsx
T
florian.wilde f5936327a0
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s
feat(schnellstart): Kacheln je Geraetetyp in der Oberflaeche pflegen (#44)
2026-10-04 15:41:47 +00:00

52 lines
2.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { Rocket } from "lucide-react";
import { SchnellstartPflege } from "@/components/schnellstart-pflege";
import { sitzungErforderlich } from "@/server/auth/sitzungspflicht";
import { schnellstartPflege } from "@/server/queries/schnellstart";
/**
* Schnellstart je Gerätetyp (#022).
*
* Welche Vorlagen auf der Geräteseite als Kachel erscheinen, stand bisher nur im
* Seed. Wer eine eigene Vorlage dort haben wollte, kam nicht heran.
*
* `verwaltung`, wie bei den Abteilungen: die Zuordnung gilt global und bestimmt,
* was jeder Techniker an jedem Gerät als erstes sieht.
*/
export default async function SchnellstartSeite() {
// Jede Seite prüft selbst – das Admin-Layout darüber ist das zweite Netz,
// nicht das erste (siehe CLAUDE.md).
await sitzungErforderlich("verwaltung", "/admin/schnellstart");
const { typen, auswahl } = await schnellstartPflege();
return (
<>
<h1 className="flex items-center gap-2 text-2xl font-bold">
<Rocket className="size-6 text-nebentext" strokeWidth={1.75} aria-hidden="true" />
Schnellstart
</h1>
<p className="mt-2 max-w-prose text-nebentext">
Auf der Seite eines Geräts stehen oben die Vorlagen, die dort am häufigsten gebraucht werden — ein
Klick, und der Lauf steht. Hier wird festgelegt, welche das je Gerätetyp sind und in welcher
Reihenfolge sie erscheinen.
</p>
<p className="mt-2 max-w-prose text-sm text-nebentext">
Zur Auswahl stehen nur veröffentlichte, nicht archivierte Vorlagen. Wird eine Vorlage später
archiviert, verschwindet sie von selbst aus dem Schnellstart — niemand muss hier aufräumen. Eine
Vorlage, die nur für einen Kunden gilt, erscheint auch nur bei dessen Geräten.
</p>
<div className="mt-6 flex flex-col gap-4">
{typen.map((eintrag) => (
<SchnellstartPflege
key={eintrag.typ}
typ={eintrag.typ}
zugewiesen={eintrag.zugewiesen}
auswahl={auswahl}
/>
))}
</div>
</>
);
}