Kleine fehler beseitigt

This commit is contained in:
erik committed 2026-08-14 11:47:19 +02:00
1 parent 57e201b8fc
commit 115f0f5671
15 files changed
+220 -115

No files matched your search

+14 -5
View File
@@ -18,6 +18,9 @@ let showModeTimer = null;
let showModeResumeTimer = null;
// showModePaused: true, wenn der Durchlauf gerade pausiert ist
let showModePaused = false;
// showModePollTimer: Timer-Handle des Poll-Intervalls in waitForLoadThenRender
// (wird in stopShowMode mit aufgeräumt, sonst rendert es nach dem Beenden weiter)
let showModePollTimer = null;
// showModeOriginal: Abteilung und Tab vor dem Start, wird beim Beenden wiederhergestellt
let showModeOriginal = { department: DEFAULT_DEPARTMENT, tab: DEFAULT_TAB };
const SHOW_MODE_SLIDE_DURATION = 10000; // 10 Sekunden pro Slide
@@ -62,16 +65,19 @@ function stopShowMode(){
showModePaused = false;
clearTimeout(showModeTimer);
clearTimeout(showModeResumeTimer);
if(showModePollTimer){ clearInterval(showModePollTimer); showModePollTimer = null; }
const overlay = document.getElementById('showModeOverlay');
if(overlay) overlay.style.display = 'none';
// Ursprünglichen Zustand wiederherstellen
// Ursprünglichen Zustand wiederherstellen. Geschützte Tabs ('projects'/
// 'people') werden nur ohne Passwort angezeigt, wenn bereits authentifiziert –
// sonst öffnet showTab (ohne skipAuth) das Passwort-Modal.
currentTab = showModeOriginal.tab;
if(currentDepartment !== showModeOriginal.department){
switchDepartment(showModeOriginal.department);
} else {
showTab(currentTab, true);
showTab(currentTab, isAuthenticated);
renderAll();
}
}
@@ -155,11 +161,14 @@ function showModeNextSlide(){
// plant die nächste Folie. Parameter: view = 'board' oder 'load'.
function waitForLoadThenRender(view){
let attempts = 0;
const check = setInterval(() => {
showModePollTimer = setInterval(() => {
attempts++;
// Poll nur fortsetzen, solange der Show Mode noch läuft (sonst würde nach
// stopShowMode der gerade wiederhergestellte Zustand überschrieben).
if(!showModeActive && showModePollTimer){ clearInterval(showModePollTimer); showModePollTimer = null; return; }
// Wenn Wochen geladen sind oder nach Seed gefallen ist
if(db.weeks.length > 0 || attempts > 30){
clearInterval(check);
if((db.weeks.length > 0 || attempts > 30) && showModeActive){
if(showModePollTimer){ clearInterval(showModePollTimer); showModePollTimer = null; }
showTab(view, true);
renderAll();
// Kurze Verzögerung, damit das DOM aktualisiert ist, bevor kopiert wird