Fortschritt: Auto-Minimize, Action-Lock, Queue-Anzeige in Sidebar

1. Aktualisierungen starten minimiert (Mini-Bar), Popup nur per Klick.
   Verhindert Ueberlagerung von Bearbeiten/Export-Buttons.
2. Erster Durchlauf: Bearbeiten/Export/Archivieren/Loeschen gesperrt,
   nur Abbrechen moeglich.
3. Sidebar: Warteschlange-Lagen zeigen Position (#1, #2...) mit
   eigenem visuellen Stil (gedimmt, pulsierender Dot).
4. Sidebar-Status (Recherchiert/Analysiert/Faktencheck) wird fuer
   ALLE laufenden Lagen angezeigt, nicht nur die aktuelle.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Dev
2026-04-09 20:21:52 +02:00
Ursprung 3f88d00b8c
Commit 97ecde87c2
3 geänderte Dateien mit 84 neuen und 8 gelöschten Zeilen

Datei anzeigen

@@ -577,7 +577,10 @@ const App = {
if (data.refreshing && data.refreshing.length > 0) {
data.refreshing.forEach(id => this._refreshingIncidents.add(id));
// Sidebar-Dots aktualisieren
data.refreshing.forEach(id => this._updateSidebarDot(id));
data.refreshing.forEach(id => {
this._updateSidebarDot(id);
UI._updateSidebarRefreshStatus(id, 'researching', {});
});
}
} catch (e) { /* Kein kritischer Fehler */ }
@@ -711,6 +714,9 @@ const App = {
const step = state ? state.step : 'researching';
const isFirst = state ? state.isFirst : false;
UI.showProgress(step, {}, id, isFirst);
} else {
// Ensure actions are unlocked when viewing non-refreshing incident
UI._lockActionsIfFirst(false);
}
// Alte Inhalte sofort leeren um Flackern beim Wechsel zu vermeiden
@@ -2035,8 +2041,10 @@ async handleRefresh() {
// Detect first refresh: no summary means first run
const inc = this.incidents.find(i => i.id === msg.incident_id);
const isFirst = inc && !inc.summary;
UI.showProgress(status, msg.data, msg.incident_id, isFirst);
// Always update sidebar status (visible for all incidents)
UI._updateSidebarRefreshStatus(msg.incident_id, status, msg.data);
if (msg.incident_id === this.currentIncidentId) {
UI.showProgress(status, msg.data, msg.incident_id, isFirst);
this._updateRefreshButton(status !== 'idle');
}
},