From 753c3ae1ccf79021d70e7faddd64381ade96a821 Mon Sep 17 00:00:00 2001 From: Gree44 Date: Fri, 24 Jul 2026 23:39:26 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20#210:=20"Account=20l=C3=B6schen"-Button?= =?UTF-8?q?=20sichtbar=20machen=20(bg-red-600=20war=20Silent-No-Op=20in=20?= =?UTF-8?q?prebuilt=20index.css)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Demo-Feedback zur Dozenten-Verwaltung: "wo kann man die Dozenten löschen?" Das Delete-Feature ist vollständig implementiert (Liste → LecturerDetailDialog → DeleteLecturerConfirmDialog mit Namens-Bestätigung → async Cascade-Delete), aber der "Account löschen"-Button war praktisch unsichtbar. Root cause: Beide Buttons überschrieben die Variante per `className="bg-red-600 hover:bg-red-700 text-white"`. `src/index.css` ist eine handgepflegte, prebuilt Tailwind-Datei OHNE Build-Step — jede in JSX genutzte Klasse, die dort fehlt, ist ein stiller No-Op. Damit rendert der Button weiß-auf-transparent und ist nicht auffindbar. (Anmerkung: #221 hat .bg-red-600/700 zwar nachträglich ergänzt, aber die App-Standardfarbe für destruktive Aktionen ist --destructive = #d4183d.) Fix: beide Buttons nutzen jetzt die Standard-`variant="destructive"`-Optik (bg-destructive/#d4183d + text-white), konsistent mit allen anderen destruktiven Buttons der App: - LecturerDetailDialog: bg-red-600-Override entfernt, variant="destructive" setzt bg + text-white bereits selbst. - DeleteLecturerConfirmDialog: AlertDialogAction hat keine variant-Prop (default = bg-primary), daher explizit bg-destructive text-white hover:bg-destructive/90 (alle in index.css vorhanden). Der No-Op focus:ring-red-600 wurde entfernt. Visuell verifiziert (Playwright): "Account löschen" backgroundColor rgb(212,24,61) / color rgb(255,255,255); "Endgültig löschen" rgb(212,24,61). npm run build grün. --- src/components/DeleteLecturerConfirmDialog.tsx | 2 +- src/components/LecturerDetailDialog.tsx | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/DeleteLecturerConfirmDialog.tsx b/src/components/DeleteLecturerConfirmDialog.tsx index 40bcaff..bb74fbe 100644 --- a/src/components/DeleteLecturerConfirmDialog.tsx +++ b/src/components/DeleteLecturerConfirmDialog.tsx @@ -178,7 +178,7 @@ export function DeleteLecturerConfirmDialog({ void handleDelete(); }} disabled={!canDelete} - className="bg-red-600 hover:bg-red-700 focus:ring-red-600" + className="bg-destructive text-white hover:bg-destructive/90" > {busy ? "Wird gelöscht…" : "Endgültig löschen"} diff --git a/src/components/LecturerDetailDialog.tsx b/src/components/LecturerDetailDialog.tsx index 42609ce..67cf82d 100644 --- a/src/components/LecturerDetailDialog.tsx +++ b/src/components/LecturerDetailDialog.tsx @@ -401,7 +401,6 @@ export function LecturerDetailDialog({ disabled={ !detail || loading || deletionState !== "idle" } - className="bg-red-600 hover:bg-red-700 text-white" > Account löschen