feat(frontend): Dashboard-Seite mit Uebersichtskacheln #69
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#69
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
Zentrale Einstiegsseite nach dem Login. Zeigt dem User eine Uebersicht der wichtigsten Informationen. Die Seite wird serverseitig geladen (load-Funktion im +page.server.ts).
Endpunkte (via BFF-Proxy)
load-Funktion (+page.server.ts)
s export async function load({ fetch, locals }) { const personId = locals.user?.personId; const [events, persons, invitations] = await Promise.all([ fetch('/api/v1/events').then(r => r.ok ? r.json() : []), fetch('/api/v1/persons').then(r => r.ok ? r.json() : []), personId ? fetch(/api/v1/persons//invitations).then(r => r.ok ? r.json() : []) : [], ]); return { events, personsCount: persons.length, invitations }; }Seite (+page.svelte)
Nutzt Komponenten aus #67
Tests
Akzeptanzkriterien
Aktualisierter Plan (2026-06-21)
personId
locals.user?.personId wird durch den Fix in #68 (4a) korrekt aus preferred_username ermittelt.
Die Dashboard-Load-Funktion kann $env/dynamic/private via fetch nutzen.
Commits
5a eat(frontend): Dashboard-Seite mit Uebersichtskacheln (refs #69)
5b est(frontend): Tests fuer Dashboard-Load-Funktion und -Seite (closes #69)