refactor(frontend): ersetze Inline-Buttons durch ActionMenu in DataTables #219
Labels
No labels
component/backend
component/docs
component/e2e
component/frontend
component/infra
component/keycloak
prio/high
prio/low
prio/medium
type/bug
type/chore
type/feature
type/refactor
type/test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
WompSchmiede/FamilienFeierPlaner#219
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beschreibung
Laut
frontend/AGENTS.mdduerfen Actions-Spalten in DataTables ausschliesslich dasActionMenu(drei Punkte•••) verwenden.In fuenf Dateien werden noch alte Inline-Buttons (
<Button>) statt<ActionMenu>verwendet.Betroffene Dateien und Aenderungen
1.
frontend/src/routes/app/groups/+page.svelte(Zeilen 92-95)Aktuell:
<Button>Bearbeiten +<Button>LoeschenNeu:
<ActionMenu>mit zwei Items:onClick: () => openEdit(row as Group)type: 'submit', action: '?/delete'oder peronClick: () => openDelete(row as Group),variant: 'destructive'2.
frontend/src/routes/app/groups/[groupId]/+page.svelte(Zeilen 157-166)Aktuell: Form +
<Button>Genehmigen +<Button>AblehnenNeu:
<ActionMenu>(bereits importiert fuer Mitglieder-Table) mit zwei submit-Items:type: 'submit', action: '?/approveJoin', fields: [{ name: 'personId', value: ... }]action: '?/rejectJoin', variant: 'destructive'3.
frontend/src/routes/app/templates/+page.svelte(Zeilen 92-97)Aktuell:
<a>+<Button>Bearbeiten +<Button>LoeschenNeu:
<ActionMenu>importieren mit zwei Items:href: '/app/templates/${id}'onClick: () => openDelete(row as Template),variant: 'destructive'4.
frontend/src/routes/app/events/[eventId]/+page.svelte(Zeilen 1212-1227)Aktuell:
<Button>Bearbeiten +<Button>Loeschen (Event-Rollen-Table)Neu:
<ActionMenu>(bereits importiert fuer Gaestetable) mit zwei Items:onClick: () => (editingRole = row as EventRole)onClick: () => (showDeleteConfirm = row as EventRole),variant: 'destructive'5.
frontend/src/routes/app/deletion-requests/+page.svelte(Zeilen 122-135)Aktuell:
<Button>Genehmigen +<Button>Ablehnen (nur beistatus === 'pending')Neu:
<ActionMenu>importieren. Die Bedingung{#if status === 'pending'}bleibt erhalten; im pending-Fall wird<ActionMenu>mit zwei Items gerendert:onClick: () => openConfirm(row, 'approve')onClick: () => openConfirm(row, 'reject'),variant: 'destructive'Referenz
Bereits migrierte Beispiele (als Vorlage):
frontend/src/routes/app/persons/+page.svelte(Zeilen 122-134)frontend/src/routes/app/groups/[groupId]/+page.svelte(Mitglieder-Table, Zeilen 132-137)frontend/src/routes/app/events/[eventId]/+page.svelte(Gaestetable, Zeilen 929-958)Akzeptanzkriterien
<ActionMenu>statt<Button>in der Actions-Spaltenpm run testlaeuft ohne Fehlernpm run buildist erfolgreich