diff --git a/index.html b/index.html index 076c8fa..4a2ced1 100644 --- a/index.html +++ b/index.html @@ -1219,9 +1219,11 @@
+
+
@@ -1711,7 +1713,7 @@ // ============================================================ // CONSTANTS & CHAPTER CONFIG // ============================================================ -const APP_VERSION = '1.1.0'; +const APP_VERSION = '1.1.2'; const GITEA_RAW = 'http://72.60.134.73:3000/api/v1/repos/cheubaum/BNI-Vorstellungsrunde/raw'; const GITEA_API = 'http://72.60.134.73:3000/api/v1/repos/cheubaum/BNI-Vorstellungsrunde'; function giteaUrl(path) { return `${GITEA_RAW}/${path}?ref=main`; } @@ -1758,6 +1760,7 @@ function defaultState() { mode: 'members', // 'members' | 'absent-summary' | 'visitors' defaultTimer: 60, // seconds (standard speaking time) memberTimers: {}, // { memberId: customSeconds } + showTimer: true, // false = timer completely hidden }; } @@ -3947,12 +3950,17 @@ function timerCls(rem, total) { } function updateTimerDisplays() { + const timerOn = state.showTimer !== false; const s = _t.remaining; const tot = _t.total; const cls = tot > 0 ? timerCls(s, tot) : ''; const txt = tot > 0 ? fmtSecs(s) : ''; const CIRC = 729; // 2 * PI * 116 + // Control timer buttons visibility + const tc = document.getElementById('ctrl-timer-controls'); + if (tc) tc.style.display = timerOn ? 'flex' : 'none'; + // SVG ring const ring = document.getElementById('timer-ring-progress'); const ringEl = document.getElementById('timer-ring-svg'); @@ -3960,7 +3968,7 @@ function updateTimerDisplays() { const offset = tot > 0 ? CIRC * (1 - s / tot) : 0; ring.style.strokeDashoffset = offset; ring.className = 'timer-ring-progress' + (cls ? ' ' + cls : ''); - ringEl.style.display = tot > 0 ? 'block' : 'none'; + ringEl.style.display = (timerOn && tot > 0) ? 'block' : 'none'; } // Display timer text @@ -3968,7 +3976,7 @@ function updateTimerDisplays() { if (dt) { dt.textContent = txt; dt.className = cls; - dt.style.display = tot > 0 ? 'block' : 'none'; + dt.style.display = (timerOn && tot > 0) ? 'block' : 'none'; } // Control timer display (live countdown) @@ -4000,6 +4008,7 @@ function stopTimer() { } function toggleTimer() { + if (state.showTimer === false) return; if (_t.running || _t.pending) { stopTimer(); } else { @@ -4016,6 +4025,7 @@ function resetTimer() { } function scheduleTimer(seconds) { + if (state.showTimer === false) return; stopTimer(); _t.total = seconds; _t.remaining = seconds; updateTimerDisplays(); @@ -4037,6 +4047,7 @@ function getPresenterSeconds(presenter) { } function renderTimerBadge(memberId) { + if (state.showTimer === false) return ''; const def = state.defaultTimer || 60; const custom = state.memberTimers && state.memberTimers[memberId]; const secs = custom > 0 ? custom : def; @@ -4459,6 +4470,15 @@ function renderAdminPanel() {
Letzter Download: ${lastSync}
⚙ Admin-Panel öffnen ` : `
Kein Chapter aktiviert.
`} +
+
Einstellungen
+ +
@@ -4478,6 +4498,7 @@ function confirmSwitchChapter() { initChannel(); if (activeChapter) applyChapterUI(activeChapter.config); renderCurrentView(); +updateTimerDisplays(); checkLicenseAndUpdates(); // Keyboard shortcut hint diff --git a/version.json b/version.json index 2843fa3..58c48e0 100644 --- a/version.json +++ b/version.json @@ -1,4 +1,4 @@ { - "version": "1.1.1", - "notes": "Chapter Lumora und Callisto ergänzt" + "version": "1.1.2", + "notes": "Timer-Schalter im Admin-Menü, DigiSeed-Logo Fix" }