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:
@@ -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 →</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; }
|
||||
},
|
||||
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren