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:
1 parent
a09057d960
commit
b7a75dddca
12 files changed
+364
-524
No files matched your search
@@ -13,6 +13,8 @@ export function AdminField({
|
||||
defaultValue,
|
||||
placeholder,
|
||||
required = false,
|
||||
min,
|
||||
hint,
|
||||
}: {
|
||||
name: string;
|
||||
label: string;
|
||||
@@ -20,6 +22,9 @@ export function AdminField({
|
||||
defaultValue?: string;
|
||||
placeholder?: string;
|
||||
required?: boolean;
|
||||
min?: number;
|
||||
/** Kurzer Zusatz unter dem Feld, statt ihn in die Beschriftung zu packen. */
|
||||
hint?: string;
|
||||
}) {
|
||||
return (
|
||||
<label className="block text-sm">
|
||||
@@ -30,8 +35,10 @@ export function AdminField({
|
||||
defaultValue={defaultValue}
|
||||
placeholder={placeholder}
|
||||
required={required}
|
||||
min={min}
|
||||
className={inputClass}
|
||||
/>
|
||||
{hint ? <span className="mt-1 block text-xs text-ink/65">{hint}</span> : null}
|
||||
</label>
|
||||
);
|
||||
}
|
||||
@@ -61,11 +68,13 @@ export function AdminSelect({
|
||||
name,
|
||||
label,
|
||||
defaultValue,
|
||||
hint,
|
||||
children,
|
||||
}: {
|
||||
name: string;
|
||||
label: string;
|
||||
defaultValue?: string;
|
||||
hint?: string;
|
||||
children: ReactNode;
|
||||
}) {
|
||||
return (
|
||||
@@ -74,6 +83,7 @@ export function AdminSelect({
|
||||
<select name={name} defaultValue={defaultValue} className={inputClass}>
|
||||
{children}
|
||||
</select>
|
||||
{hint ? <span className="mt-1 block text-xs text-ink/65">{hint}</span> : null}
|
||||
</label>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user