diff --git a/src/static/dashboard.html b/src/static/dashboard.html index 70c9cee..f88d6b0 100644 --- a/src/static/dashboard.html +++ b/src/static/dashboard.html @@ -628,7 +628,7 @@ - + diff --git a/src/static/js/app.js b/src/static/js/app.js index 2f0dc71..36936e7 100644 --- a/src/static/js/app.js +++ b/src/static/js/app.js @@ -736,7 +736,12 @@ const App = { const prevMini = document.getElementById('progress-mini'); if (prevMini) prevMini.style.display = 'none'; const grid = document.querySelector('.tab-panels'); - if (grid) grid.classList.remove('blurred'); + // Blur nur entfernen, wenn er nicht direkt danach wieder gesetzt wird. + // Beim Create-Flow (frischer isFirst-State + selectIncident im selben + // Tick) greift CSS filter:blur sonst nicht im selben Frame. + const _restState = isRefreshing ? UI._progressState[id] : null; + const _willReBlur = _restState && _restState.isFirst && !_restState.minimized; + if (grid && !_willReBlur) grid.classList.remove('blurred'); if (isRefreshing) { const state = UI._progressState[id]; @@ -1778,6 +1783,14 @@ const App = { await this.selectIncident(incident.id); + // Im Create-Flow greift CSS filter:blur nach dem viel DOM-Reshuffle + // (Modal-Close, renderSidebar, Tab-Wechsel) im selben Frame nicht + // zuverlaessig. Im naechsten Frame nochmal setzen — Aufwand minimal. + requestAnimationFrame(() => { + const _grid = document.querySelector('.tab-panels'); + if (_grid) _grid.classList.add('blurred'); + }); + this._updateRefreshButton(true); await API.refreshIncident(incident.id); UI.showToast(`Lage "${incident.title}" angelegt. Recherche gestartet.`, 'success');