feat: Kontextabhängige Karten-Kategorien im Lagebild

Neue Keys (primary/secondary/tertiary/mentioned) mit dynamischen
Labels aus category_labels API-Feld.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Code
2026-03-15 15:04:15 +01:00
Ursprung 2c2913a48c
Commit 9463ca87ea

Datei anzeigen

@@ -683,19 +683,28 @@ var Lagebild = {
// Kategorie-Farben
var categoryColors = {
target: '#ef4444',
retaliation: '#f59e0b',
response: '#f59e0b',
actor: '#3b82f6',
primary: '#ef4444',
secondary: '#f59e0b',
tertiary: '#3b82f6',
mentioned: '#7b7b7b'
};
var categoryLabels = {
target: 'Angegriffene Ziele',
retaliation: 'Vergeltung / Eskalation',
response: 'Reaktion / Gegenmassnahmen',
actor: 'Strategische Akteure',
var defaultCategoryLabels = {
primary: 'Hauptgeschehen',
secondary: 'Reaktionen',
tertiary: 'Beteiligte',
mentioned: 'Erwaehnt'
};
// Dynamische Labels aus API verwenden (falls vorhanden)
var categoryLabels = {};
if (this.data && this.data.category_labels) {
var apiLabels = this.data.category_labels;
categoryLabels.primary = apiLabels.primary || defaultCategoryLabels.primary;
categoryLabels.secondary = apiLabels.secondary || defaultCategoryLabels.secondary;
categoryLabels.tertiary = apiLabels.tertiary || defaultCategoryLabels.tertiary;
categoryLabels.mentioned = apiLabels.mentioned || defaultCategoryLabels.mentioned;
} else {
categoryLabels = defaultCategoryLabels;
}
// Locations aus API-Daten laden
var locs = (this.data && this.data.locations) ? this.data.locations : [];
@@ -728,8 +737,8 @@ var Lagebild = {
var div = L.DomUtil.create('div', 'map-legend');
div.style.cssText = 'background:#151D2E;padding:10px 14px;border-radius:4px;border:1px solid #1E2D45;box-shadow:0 2px 8px rgba(0,0,0,0.3);font-size:0.8rem;line-height:1.8;color:#E8ECF4;';
var html = '<strong style="color:#C8A851;">Legende</strong><br>';
['target', 'response', 'retaliation', 'actor', 'mentioned'].forEach(function(cat) {
if (usedCategories[cat]) {
['primary', 'secondary', 'tertiary', 'mentioned'].forEach(function(cat) {
if (usedCategories[cat] && categoryLabels[cat]) {
html += '<span style="color:' + categoryColors[cat] + ';">&#9679;</span> ' + categoryLabels[cat] + '<br>';
}
});