Spotify-Links, Live-Status-Feature (grüner Punkt) mit Owner-Toggle

This commit is contained in:
2026-07-30 20:39:12 +02:00
parent b1712ec33b
commit 4263564f9f
8 changed files with 149 additions and 12 deletions
+24 -1
View File
@@ -34,7 +34,7 @@
<p class="lead worlds">Drei Welten, eine Familie: Team Dogi.</p>
<div class="card" style="max-width:420px;margin:1.4rem auto 0;padding:1rem 1.4rem;">
<span class="badge rank-1">🔴 Live-Status</span>
<span class="badge rank-1"><span class="live-dot" id="live-dot"></span><span id="live-text">Aktuell offline</span></span>
<p class="small" style="margin:.5rem 0 0;">Dogfather geht <strong>jeden Tag ab 20 Uhr</strong> live — oft schon tagsüber, zu wechselnden Zeiten. <a href="streamplan.html">Streamplan ansehen →</a></p>
</div>
@@ -167,7 +167,30 @@
<script src="assets/js/data-aktionen.js"></script>
<script src="assets/js/main.js"></script>
<script>
// Gleiche Worker-URL wie in assets/js/forms.js / postfach.html eintragen,
// sobald der Cloudflare Worker deployed ist.
const API_BASE_URL = "";
document.addEventListener("DOMContentLoaded", () => {
// Live-Status: grüner Punkt, wenn Dogfather gerade live ist
const liveDot = document.getElementById("live-dot");
const liveText = document.getElementById("live-text");
if (API_BASE_URL && liveDot && liveText) {
fetch(`${API_BASE_URL}/live-status`)
.then((res) => res.json())
.then((data) => {
if (data && data.live) {
liveDot.classList.add("is-live");
liveText.textContent = "Live jetzt!";
} else {
liveText.textContent = "Aktuell offline";
}
})
.catch(() => {
liveText.textContent = "Aktuell offline";
});
}
// Stats: Team-Größe aus den Datenobjekten berechnen
const teamCount = (window.MODIS || []).length + (window.SCOUTS || []).length;
const statTeam = document.getElementById("stat-team");