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"
}