From d31ec2a9a84573266de49c0b34216903abd4d347 Mon Sep 17 00:00:00 2001 From: claude-dev Date: Tue, 10 Mar 2026 11:02:56 +0100 Subject: [PATCH] fix: overflow:hidden VOR Display-Wechsel und GridStack-Init setzen Der Scroll zum Faktencheck wurde durch den display:none->flex Wechsel und/oder GridStack-Init ausgeloest. overflow:hidden wird jetzt ganz am Anfang von selectIncident gesetzt, BEVOR das incident-view sichtbar wird. Erst 500ms nach Abschluss aller Render-Operationen wird overflow wiederhergestellt. Co-Authored-By: Claude Opus 4.6 --- src/static/js/app.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/static/js/app.js b/src/static/js/app.js index 2d4168b..a5d433d 100644 --- a/src/static/js/app.js +++ b/src/static/js/app.js @@ -633,6 +633,10 @@ const App = { this.currentIncidentId = id; localStorage.setItem('selectedIncidentId', id); // SR-Announcement + // Scroll komplett blockieren bevor irgendetwas gerendert wird + var mc = document.getElementById("main-content"); + mc.style.overflow = "hidden"; + mc.scrollTop = 0; const inc = this.incidents.find(i => i.id === id); if (inc) this._announceForSR('Lage ausgewählt: ' + inc.title); this.renderSidebar(); @@ -652,13 +656,13 @@ const App = { UI.hideProgress(); } - // Scroll auf 0 erzwingen waehrend Rendering + GridStack-Resize - var mc = document.getElementById("main-content"); - var lockScroll = () => { mc.scrollTop = 0; }; - mc.addEventListener("scroll", lockScroll); mc.scrollTop = 0; await this.loadIncidentDetail(id); - setTimeout(() => { mc.removeEventListener("scroll", lockScroll); mc.scrollTop = 0; }, 500); + mc.scrollTop = 0; + setTimeout(() => { mc.scrollTop = 0; mc.style.overflow = ""; }, 500); + + + }, async loadIncidentDetail(id) {