Fix: Kein Geister-Eintrag in Timeline wenn Lagebild identisch mit letztem Snapshot

Wenn current_lagebild.updated_at == neuester Snapshot, wird kein separater
current-Eintrag erzeugt. Stattdessen bekommt der Snapshot das Aktuell-Label
mit aktuellen Live-Counts für Artikel und Faktenchecks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Code
2026-03-09 22:28:15 +01:00
Ursprung 763b63cf1f
Commit cafaeff61c

Datei anzeigen

@@ -207,13 +207,32 @@ var Lagebild = {
/* ===== TIMELINE STRIP ===== */ /* ===== TIMELINE STRIP ===== */
renderTimeline: function() { renderTimeline: function() {
var snaps = this.data.available_snapshots || []; var snaps = this.data.available_snapshots || [];
var lagebildUpdated = (this.data.current_lagebild.updated_at || '').replace(' ', 'T');
var newestSnap = snaps.length > 0 ? snaps[0] : null;
var newestSnapTime = newestSnap ? newestSnap.created_at.replace(' ', 'T') : '';
var all;
if (!newestSnap || lagebildUpdated !== newestSnapTime) {
// Neues Lagebild seit letztem Snapshot – eigenen current-Eintrag zeigen
var current = { var current = {
id: 'current', id: 'current',
article_count: this.data.incident.article_count, article_count: this.data.incident.article_count,
fact_check_count: this.data.incident.factcheck_count, fact_check_count: this.data.incident.factcheck_count,
created_at: this.data.generated_at created_at: this.data.generated_at
}; };
var all = [current].concat(snaps); all = [current].concat(snaps);
} else {
// Lagebild identisch mit neuestem Snapshot – kein Geister-Eintrag,
// stattdessen Snapshot als "current" mit aktuellen Live-Counts markieren
var merged = {};
for (var key in newestSnap) {
if (newestSnap.hasOwnProperty(key)) merged[key] = newestSnap[key];
}
merged.id = 'current';
merged.article_count = this.data.incident.article_count;
merged.fact_check_count = this.data.incident.factcheck_count;
all = [merged].concat(snaps.slice(1));
}
// Group by date // Group by date
var groups = {}; var groups = {};