diff --git a/lagebild/lagebild.js b/lagebild/lagebild.js index 8ee6148..8a5876a 100644 --- a/lagebild/lagebild.js +++ b/lagebild/lagebild.js @@ -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 = 'Legende
'; - ['target', 'response', 'retaliation', 'actor', 'mentioned'].forEach(function(cat) { - if (usedCategories[cat]) { + ['primary', 'secondary', 'tertiary', 'mentioned'].forEach(function(cat) { + if (usedCategories[cat] && categoryLabels[cat]) { html += ' ' + categoryLabels[cat] + '
'; } });