1.9 KiB
Gastansicht
Route
/guest/:id
Zweck
Die Gastansicht zeigt eine öffentlich geteilte Version einer Veranstaltung. Sie richtet sich an externe Personen ohne Login und stellt Veranstaltungstyp, Datum und Liedtexte bereit.
Datenquellen
GuestComponentliest die Routen-ID ausActivatedRoute.params.GuestShowDataService.read(id)lädt den initialen Datensatz aus der Firestore-Collectionguest.GuestShowDataService.read$(id)abonniert anschließend Live-Updates für denselben Datensatz.GuestShowService.share(show, songs)erstellt oder aktualisiert Gastdatensätze aus einer Veranstaltung und erzeugt die URL/guest/{shareId}.
UI
Die geladene Veranstaltung zeigt links den übersetzten Veranstaltungstyp und rechts das Datum im Format dd.MM.yyyy. Die Songs werden in einem Swiper dargestellt. Jede Folie enthält Titel, optional Künstler und den Liedtext über SongTextComponent.
Für Lade-, Fehler- und Nicht-gefunden-Zustände zeigt die Seite einfache Meldungen.
Aktionen
Die Gastseite selbst bietet keine Bearbeitungsaktionen. Benutzer können durch die Song-Folien wischen; Aktualisierungen am geteilten Datensatz erscheinen über das Live-Abonnement.
Rollen und Berechtigungen
Die Route ist öffentlich erreichbar und nicht durch Authentifizierung geschützt. Zugriffsschutz erfolgt ausschließlich über die Kenntnis der Share-ID in der URL.
Technische Hinweise
- Der Zustand der Seite ist als
GuestShowStatemodelliert:loading,loaded,not-foundodererror. - Datumswerte werden normalisiert und unterstützen
Date, Firestore-Timestamps mittoDate, Objekte mitseconds, Strings und Zahlen. - Falls der initiale Ladevorgang keinen Datensatz findet, wird
not-foundangezeigt. - Fehler beim initialen Laden oder bei Live-Aktualisierungen führen zu einer Fehlermeldung.
ensureSwiperElement()registriert das Web Component für den Swiper.