Display-Seiten individuell gestalten #8

Merged
friloo merged 1 commit from feature/kiosk-branding into main 2026-09-23 16:59:12 +00:00
Owner

Jede Display-Seite bringt jetzt ihr eigenes Erscheinungsbild mit – der Empfang sieht anders aus als der Tagungsraum nebenan.

Einstellung Wirkung
Logo eigenes Logo auf der Karte (leer = Logo aus den Einstellungen)
Hintergrundbild formatfüllend hinter der Karte, z. B. ein Foto des Hauses
Abdunklung 0–90 % dunkle Ebene über dem Bild, damit die Karte lesbar bleibt
Akzentfarbe färbt den Knopf dieser Seite (leer = Farbe aus dem Design-Tab)
Karte hell oder dunkel – auf Fotos wirkt die dunkle Karte meist ruhiger

Logo und Hintergrund lassen sich hochladen (PNG, JPG, WEBP, GIF, SVG bis 3 MB) oder als URL hinterlegen. Beim Löschen einer Display-Seite verschwinden die hochgeladenen Dateien mit.

Nebenbei aufgeräumt

Das Bildfeld (Vorschau + Upload + URL + Entfernen-Schalter) lag als lokale Funktion in admin/settings.php. Es wird jetzt von beiden Seiten genutzt: Ui::imageField() für die Darstellung, Upload::resolveField() für die Auswertung.

Sicherheit

Die Akzentfarbe landet in einem style-Attribut der Seite. Sie wird deshalb zweifach geprüft – beim Speichern und beim Ausgeben – und nur als echte Hex-Farbe akzeptiert; ein Test hält das fest (testAppearanceRejectsUnsafeColour). Die Abdunklung wird auf 0–90 begrenzt.

Geprüft

42 Tests / 92 Assertions (4 neu für die Gestaltung), PHPStan ohne Befund, Sprachdateien deckungsgleich (587 Schlüssel). Upload über beide Admin-Seiten manuell durchgespielt, alle Seiten gerendert.

Migration 0006_kiosk_branding.sql, database.sql nachgezogen, Screenshots ergänzt, Version 2.8.0.

🤖 Generated with Claude Code

Jede Display-Seite bringt jetzt ihr eigenes Erscheinungsbild mit – der Empfang sieht anders aus als der Tagungsraum nebenan. | Einstellung | Wirkung | |---|---| | Logo | eigenes Logo auf der Karte (leer = Logo aus den Einstellungen) | | Hintergrundbild | formatfüllend hinter der Karte, z. B. ein Foto des Hauses | | Abdunklung | 0–90 % dunkle Ebene über dem Bild, damit die Karte lesbar bleibt | | Akzentfarbe | färbt den Knopf dieser Seite (leer = Farbe aus dem Design-Tab) | | Karte | hell oder dunkel – auf Fotos wirkt die dunkle Karte meist ruhiger | Logo und Hintergrund lassen sich hochladen (PNG, JPG, WEBP, GIF, SVG bis 3 MB) oder als URL hinterlegen. Beim Löschen einer Display-Seite verschwinden die hochgeladenen Dateien mit. ## Nebenbei aufgeräumt Das Bildfeld (Vorschau + Upload + URL + Entfernen-Schalter) lag als lokale Funktion in `admin/settings.php`. Es wird jetzt von beiden Seiten genutzt: `Ui::imageField()` für die Darstellung, `Upload::resolveField()` für die Auswertung. ## Sicherheit Die Akzentfarbe landet in einem `style`-Attribut der Seite. Sie wird deshalb **zweifach** geprüft – beim Speichern und beim Ausgeben – und nur als echte Hex-Farbe akzeptiert; ein Test hält das fest (`testAppearanceRejectsUnsafeColour`). Die Abdunklung wird auf 0–90 begrenzt. ## Geprüft 42 Tests / 92 Assertions (4 neu für die Gestaltung), PHPStan ohne Befund, Sprachdateien deckungsgleich (587 Schlüssel). Upload über beide Admin-Seiten manuell durchgespielt, alle Seiten gerendert. Migration `0006_kiosk_branding.sql`, `database.sql` nachgezogen, Screenshots ergänzt, Version 2.8.0. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
friloo added 1 commit 2026-09-23 16:59:10 +00:00
Display-Seiten individuell gestalten
Some checks are pending
CI / PHP Lint (push) Waiting to run
CI / PHP Lint (pull_request) Waiting to run
CI / PHP Lint-1 (pull_request) Waiting to run
CI / PHP Lint-1 (push) Waiting to run
CI / Unit Tests & Static Analysis (pull_request) Waiting to run
CI / Unit Tests & Static Analysis (push) Waiting to run
4159b92268
Jede Display-Seite bringt jetzt ihr eigenes Erscheinungsbild mit – der
Empfang sieht anders aus als der Tagungsraum nebenan:

- eigenes Logo (leer = Logo aus den Einstellungen)
- formatfüllendes Hintergrundbild mit einstellbarer Abdunklung (0–90 %),
  damit die Karte auf hellen Fotos lesbar bleibt
- eigene Akzentfarbe für den Knopf (leer = Farbe aus dem Design-Tab)
- Karte wahlweise hell oder dunkel; auf Fotos wirkt dunkel meist ruhiger

Logo und Hintergrund lassen sich hochladen oder als URL hinterlegen; beim
Löschen einer Display-Seite verschwinden die hochgeladenen Dateien mit.

Nebenbei aufgeräumt: das Bildfeld (Vorschau + Upload + URL + Entfernen)
lag als Funktion in admin/settings.php und wird jetzt von beiden Seiten
genutzt – Ui::imageField() für die Darstellung, Upload::resolveField()
für die Auswertung.

Sicherheit: die Akzentfarbe landet in einem style-Attribut, deshalb wird
sie sowohl beim Speichern als auch beim Ausgeben auf eine echte Hex-Farbe
geprüft; ein Test hält das fest.

Migration 0006, database.sql nachgezogen, 4 neue Tests (42 gesamt),
Screenshots ergänzt, Version 2.8.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
friloo merged commit 3a09e35097 into main 2026-09-23 16:59:12 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: friloo/Unifi-Voucher-Tool#8
No description provided.