feat(ui): users and audit log as readable cards with names and retry

- Users: one card per person on every screen size, status and MFA as
  icon plus word, server reasons (e.g. "more rights than you") shown.
- Audit log: names instead of user ids, area as a choice instead of a
  free-text type, optional record id, filter reset, cards instead of a
  5-column table, empty and error states with a next step.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick SzaunigandClaude Opus 5.5 committed 2026-10-01 12:13:40 +02:00
1 parent bd2070436c
commit 832997f885
4 files changed
+238 -154

No files matched your search

@@ -49,6 +49,14 @@ const AUDIT_ENTITY_TYPE_LABELS: Record<string, string> = {
WebhookSubscription: "Webhook",
};
/** Filter choices: one entry per area (duplicate spellings collapsed), A-Z. */
export const AUDIT_ENTITY_TYPE_OPTIONS: { value: string; label: string }[] = Object.entries(
AUDIT_ENTITY_TYPE_LABELS,
)
.filter(([value]) => value !== value.toUpperCase())
.map(([value, label]) => ({ value, label }))
.sort((a, b) => a.label.localeCompare(b.label, "de"));
export function auditEntityTypeLabel(entityType: string): string {
return AUDIT_ENTITY_TYPE_LABELS[entityType] ?? entityType;
}