feat(admin): Formulare fuer Gutscheine, Versand, Benutzer, Ernten und Chargen vereinheitlicht

Alle Anlege- und Bearbeiten-Formulare nutzen jetzt die Bausteine aus
components/admin-form.tsx wie das Produktformular: Rahmen mit fester
Speicherleiste, Abschnitte mit Serif-Ueberschrift (Gutschein: Code und
Rabatt / Bedingungen / Zeitraum und Status; Ernte: Angaben / Bilder /
Sichtbarkeit; Charge: Abfuellung und Bestand / Bilder), Schalter statt
Checkbox, buendige Eingabefelder in Rastern.

Benutzer bearbeiten: Sicherheitsbereich mit Status-Badges, Passwort-Reset
als Sekundaerknopf, Sperren/Loeschen in eigenem abgesetzten Bereich.
AdminField/AdminSelect koennen jetzt min und einen Hinweistext.

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 21:14:10 +02:00
1 parent a09057d960
commit b7a75dddca
12 files changed
+364 -524

No files matched your search

+11
View File
@@ -725,6 +725,9 @@ export const de: Dictionary = {
noVouchersYet: "Noch keine Gutscheine angelegt.",
},
adminVoucherEditPage: {
sectionDiscount: "Code und Rabatt",
sectionConditions: "Bedingungen",
sectionValidity: "Zeitraum und Status",
backToVouchers: "Zurück zu Gutscheinen",
title: "Gutschein bearbeiten",
codeLabel: "Code",
@@ -742,6 +745,9 @@ export const de: Dictionary = {
save: "Speichern",
},
adminVoucherNewPage: {
sectionDiscount: "Code und Rabatt",
sectionConditions: "Bedingungen",
sectionValidity: "Zeitraum und Status",
backToVouchers: "Zurück zu Gutscheinen",
title: "Neuer Gutschein",
codeLabel: "Code",
@@ -818,6 +824,8 @@ export const de: Dictionary = {
noUsersYet: "Noch keine Benutzer angelegt.",
},
adminUserEditPage: {
sectionProfile: "Stammdaten",
sectionDanger: "Konto sperren oder löschen",
backToUsers: "Zurück zu Benutzern",
createdOn: (date) => `Konto erstellt am ${date}`,
firstNameLabel: "Vorname",
@@ -881,6 +889,7 @@ export const de: Dictionary = {
create: "Anlegen",
},
adminBatchEditPage: {
sectionDetails: "Abfüllung und Bestand",
backToBatches: "Zurück zu Chargen",
title: "Charge bearbeiten",
fillDateLabel: "Abfülldatum",
@@ -988,6 +997,8 @@ export const de: Dictionary = {
create: "Anlegen",
},
adminHarvestEditPage: {
sectionDetails: "Angaben",
sectionVisibility: "Sichtbarkeit",
backToHarvests: "Zurück zu Ernten",
title: "Ernte bearbeiten",
typeLabel: "Typ",
+11
View File
@@ -713,6 +713,9 @@ export const en: Dictionary = {
noVouchersYet: "No vouchers created yet.",
},
adminVoucherEditPage: {
sectionDiscount: "Code and discount",
sectionConditions: "Conditions",
sectionValidity: "Period and status",
backToVouchers: "Back to vouchers",
title: "Edit voucher",
codeLabel: "Code",
@@ -730,6 +733,9 @@ export const en: Dictionary = {
save: "Save",
},
adminVoucherNewPage: {
sectionDiscount: "Code and discount",
sectionConditions: "Conditions",
sectionValidity: "Period and status",
backToVouchers: "Back to vouchers",
title: "New voucher",
codeLabel: "Code",
@@ -806,6 +812,8 @@ export const en: Dictionary = {
noUsersYet: "No users created yet.",
},
adminUserEditPage: {
sectionProfile: "Profile",
sectionDanger: "Block or delete account",
backToUsers: "Back to users",
createdOn: (date) => `Account created on ${date}`,
firstNameLabel: "First name",
@@ -869,6 +877,7 @@ export const en: Dictionary = {
create: "Create",
},
adminBatchEditPage: {
sectionDetails: "Filling and stock",
backToBatches: "Back to batches",
title: "Edit batch",
fillDateLabel: "Fill date",
@@ -975,6 +984,8 @@ export const en: Dictionary = {
create: "Create",
},
adminHarvestEditPage: {
sectionDetails: "Details",
sectionVisibility: "Visibility",
backToHarvests: "Back to harvests",
title: "Edit harvest",
typeLabel: "Type",
+11
View File
@@ -404,6 +404,9 @@ export interface Dictionary {
noVouchersYet: string;
};
adminVoucherEditPage: {
sectionDiscount: string;
sectionConditions: string;
sectionValidity: string;
backToVouchers: string;
title: string;
codeLabel: string;
@@ -421,6 +424,9 @@ export interface Dictionary {
save: string;
};
adminVoucherNewPage: {
sectionDiscount: string;
sectionConditions: string;
sectionValidity: string;
backToVouchers: string;
title: string;
codeLabel: string;
@@ -496,6 +502,8 @@ export interface Dictionary {
noUsersYet: string;
};
adminUserEditPage: {
sectionProfile: string;
sectionDanger: string;
backToUsers: string;
createdOn: (date: string) => string;
firstNameLabel: string;
@@ -558,6 +566,7 @@ export interface Dictionary {
create: string;
};
adminBatchEditPage: {
sectionDetails: string;
backToBatches: string;
title: string;
fillDateLabel: string;
@@ -663,6 +672,8 @@ export interface Dictionary {
/** created, skipped, failed */
};
adminHarvestEditPage: {
sectionDetails: string;
sectionVisibility: string;
backToHarvests: string;
title: string;
typeLabel: string;