Streamplan-Seite: interaktives Live-Radar statt schlichter Textkarten

Nutzer-Wunsch 20.08.2026: "diese seite vom streamplan soll viel geiler
und spezieller sein, ueberrasch mich."

Neues Herzstueck: ein 24-Stunden-Ziffernblatt (reines SVG, keine
Bild-Assets), das den festen 20-Uhr-Termin als dauerhaft leuchtenden
Fixpunkt zeigt (goldener Puls) und einen "Jetzt"-Zeiger in Echtzeit mit
der tatsaechlichen Uhrzeit der besuchenden Person mitbewegt (Babyblau,
DogFather-Markenfarbe). Nutzt denselben /live-status-Endpunkt wie die
Startseite:
- Offline: echter Sekunden-Countdown zum naechsten lokalen 20-Uhr-Termin.
- Live: komplettes Radar schaltet auf Rot/Puls um, zeigt den Stream-Titel
  und einen "Jetzt anschauen"-Knopf direkt zu TikTok.
Sanft rotierender Lichtschein fuer Atmosphaere, komplett augenschonend
(gedeckte Farben, respektiert prefers-reduced-motion vollstaendig).

Bugfix unterwegs gefunden (Playwright-Screenshot, dritte Wiederholung
desselben Musters heute): der "Jetzt anschauen"-Knopf blieb trotz
[hidden]-Attribut sichtbar, weil .btn selbst "display" setzt und damit
gleiche Spezifitaet wie die eingebaute [hidden]-Regel hat -- explizite
Regel ergaenzt.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-08-20 22:50:49 +02:00
co-authored by Claude Opus 5
parent b3e191d3ca
commit a5615331aa
38 changed files with 517 additions and 232 deletions
+30
View File
@@ -20,6 +20,36 @@ window.I18N_PAGE = {
de: "Zur Dogi TikTok-Seite", "de-CH": "Zur Dogi TikTok-Site",
en: "Go to Dogi's TikTok page", fr: "Voir la page TikTok de Dogi", pt: "Ir para a página TikTok do Dogi",
},
/* Live-Radar (20.08.2026) */
sp_radar_loading: {
de: "Lädt …", "de-CH": "Lädt …",
en: "Loading …", fr: "Chargement …", pt: "Carregando …",
},
sp_radar_offline: {
de: "Nächster Fix-Stream in", "de-CH": "Nächschte Fix-Stream in",
en: "Next fixed stream in", fr: "Prochain live fixe dans", pt: "Próxima live fixa em",
},
sp_radar_countdown_label: {
de: "täglich ab 20 Uhr", "de-CH": "täglich ab 20 Uhr",
en: "daily from 8 PM", fr: "chaque jour à 20h", pt: "diariamente às 20h",
},
sp_radar_live: {
de: "🔴 DogFather ist LIVE", "de-CH": "🔴 DogFather isch LIVE",
en: "🔴 DogFather is LIVE", fr: "🔴 DogFather est EN DIRECT", pt: "🔴 DogFather está AO VIVO",
},
sp_radar_live_generic: {
de: "Jetzt live auf TikTok", "de-CH": "Jetzt live uf TikTok",
en: "Live now on TikTok", fr: "En direct maintenant sur TikTok", pt: "Ao vivo agora no TikTok",
},
sp_radar_watch_btn: {
de: "🔴 Jetzt anschauen", "de-CH": "🔴 Jetzt aluege",
en: "🔴 Watch now", fr: "🔴 Regarder maintenant", pt: "🔴 Assistir agora",
},
sp_radar_hinweis: {
de: "Alle Zeiten in deiner Ortszeit.", "de-CH": "Alli Ziite in dinere Ortsziit.",
en: "All times shown in your local time.", fr: "Tous les horaires affichés dans ton fuseau local.", pt: "Todos os horários na sua hora local.",
},
sp_card1_tag: {
de: "Fixer Termin", "de-CH": "Fixe Termin",
en: "Fixed Time", fr: "Rendez-vous fixe", pt: "Horário Fixo",