feat(admin): Listen mit Status-Badges, Leerzustaenden und klaren Aktionen

Neue gemeinsame Bausteine in components/admin-list.tsx: Seitenkopf mit
Hauptaktion, Suchleiste, Status-Badge (gleiche Form wie der Bestellstatus,
wartende Eintraege mit pulsierendem Punkt), Leerzustand mit Wabe und
naechstem Schritt sowie Zeilenaktionen mit einheitlichem Unterstrich-
Hover (Loeschen rot, Sperren/Zurueckziehen gedaempft).

Umgestellt: Bewertungen (SVG-Sterne statt Unicode), Benutzer, Gutscheine
(neu: Status "Abgelaufen"), Versand, Ernten, Chargen (Anlegeformulare auf
admin-form), Firmenanfragen (Status als Badge, beschriftete Auswahl) und
Audit-Log. Zahlen und Daten in Tabellen mit tabular-nums.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick SzaunigandClaude Opus 5.5 committed 2026-09-25 20:51:50 +02:00
1 parent 95b4b5953d
commit a09057d960
12 files changed
+440 -300

No files matched your search

+2
View File
@@ -718,6 +718,7 @@ export const de: Dictionary = {
unlimited: "unbegrenzt",
statusActive: "Aktiv",
statusInactive: "Inaktiv",
statusExpired: "Abgelaufen",
edit: "Bearbeiten",
deleteConfirm: (code) => `Gutschein "${code}" wirklich löschen?`,
delete: "Löschen",
@@ -1136,6 +1137,7 @@ export const de: Dictionary = {
statusInProgress: "In Bearbeitung",
statusCompleted: "Abgeschlossen",
statusRejected: "Abgelehnt",
statusSelectLabel: "Status der Anfrage",
save: "Speichern",
packageLabel: "Paket",
quantityLabel: "Menge",
+2
View File
@@ -706,6 +706,7 @@ export const en: Dictionary = {
unlimited: "unlimited",
statusActive: "Active",
statusInactive: "Inactive",
statusExpired: "Expired",
edit: "Edit",
deleteConfirm: (code) => `Really delete voucher "${code}"?`,
delete: "Delete",
@@ -1122,6 +1123,7 @@ export const en: Dictionary = {
statusInProgress: "In progress",
statusCompleted: "Completed",
statusRejected: "Rejected",
statusSelectLabel: "Inquiry status",
save: "Save",
packageLabel: "Package",
quantityLabel: "Quantity",
+2
View File
@@ -397,6 +397,7 @@ export interface Dictionary {
unlimited: string;
statusActive: string;
statusInactive: string;
statusExpired: string;
edit: string;
deleteConfirm: (code: string) => string;
delete: string;
@@ -803,6 +804,7 @@ export interface Dictionary {
statusInProgress: string;
statusCompleted: string;
statusRejected: string;
statusSelectLabel: string;
save: string;
packageLabel: string;
quantityLabel: string;