Sicherung vor Design-Refresh: Timezone-Fixes + neue Snapshots

- lagebild.js: Feste Europe/Berlin Zeitzone für alle Datumsanzeigen
- Neue Snapshot-Dateien (111-118) hinzugefügt
- current.json aktualisiert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Code
2026-03-07 14:04:05 +01:00
Ursprung 936d3971c9
Commit 3ea6acaab2
9 geänderte Dateien mit 6813 neuen und 2475 gelöschten Zeilen

Datei anzeigen

@@ -2,6 +2,10 @@
* AegisSight Lagebild Page v3
* Vollständige Darstellung aller Daten mit Tabs
*/
/** Feste Zeitzone fuer alle Anzeigen — NIEMALS aendern. */
var TIMEZONE = 'Europe/Berlin';
var Lagebild = {
data: null,
allSnapshots: {},
@@ -185,8 +189,8 @@ var Lagebild = {
ah += '<div class="article-card">';
ah += '<div class="article-date">';
if (dObj && !isNaN(dObj.getTime())) {
ah += '<span class="day">' + dObj.getDate() + '</span>';
ah += '<span class="month">' + dObj.toLocaleDateString('de-DE', {month:'short'}) + '</span>';
ah += '<span class="day">' + dObj.toLocaleDateString('de-DE', {day:'numeric', timeZone:TIMEZONE}) + '</span>';
ah += '<span class="month">' + dObj.toLocaleDateString('de-DE', {month:'short', timeZone:TIMEZONE}) + '</span>';
}
ah += '</div><div class="article-info">';
ah += '<p class="article-headline">';
@@ -197,7 +201,7 @@ var Lagebild = {
ah += '<span class="article-source">' + this.esc(a.source || '') + '</span>';
if (a.language) ah += '<span class="article-lang">' + a.language.toUpperCase() + '</span>';
if (dObj && !isNaN(dObj.getTime())) {
ah += '<span>' + dObj.toLocaleDateString('de-DE', {day:'2-digit',month:'2-digit',year:'numeric'}) + ', ' + dObj.toLocaleTimeString('de-DE', {hour:'2-digit',minute:'2-digit'}) + ' Uhr</span>';
ah += '<span>' + dObj.toLocaleDateString('de-DE', {day:'2-digit',month:'2-digit',year:'numeric',timeZone:TIMEZONE}) + ', ' + dObj.toLocaleTimeString('de-DE', {hour:'2-digit',minute:'2-digit',timeZone:TIMEZONE}) + ' Uhr</span>';
}
if (a.source_url) ah += '<span><a href="' + this.esc(a.source_url) + '" target="_blank" rel="noopener" style="color:#0f72b5;text-decoration:none;font-size:0.78rem;">Artikel lesen &rarr;</a></span>';
ah += '</div></div></div>';
@@ -432,16 +436,18 @@ var Lagebild = {
try {
var d = new Date(this.toUTC(iso));
if (isNaN(d.getTime())) return iso;
var tage = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'];
var mon = ['Januar','Februar','M\u00e4rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'];
return tage[d.getDay()] + ', ' + d.getDate() + '. ' + mon[d.getMonth()] + ' ' + d.getFullYear()
+ ' um ' + ('0'+d.getHours()).slice(-2) + ':' + ('0'+d.getMinutes()).slice(-2) + ' Uhr';
var opts = {timeZone:TIMEZONE, weekday:'long', day:'numeric', month:'long', year:'numeric', hour:'2-digit', minute:'2-digit', hour12:false};
var parts = new Intl.DateTimeFormat('de-DE', opts).formatToParts(d);
var p = {};
parts.forEach(function(x){ p[x.type] = x.value; });
return p.weekday + ', ' + p.day + '. ' + p.month + ' ' + p.year
+ ' um ' + p.hour + ':' + p.minute + ' Uhr';
} catch(e) { return iso; }
},
fmtShort: function(iso) {
if (!iso) return '';
try { return new Date(this.toUTC(iso)).toLocaleDateString('de-DE', {day:'numeric',month:'short',hour:'2-digit',minute:'2-digit'}); }
try { return new Date(this.toUTC(iso)).toLocaleDateString('de-DE', {day:'numeric',month:'short',hour:'2-digit',minute:'2-digit',timeZone:TIMEZONE}); }
catch(e) { return iso; }
},