From 856f7d56bfeb929e44dca80de829191dea1df4e0 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Mon, 8 Dec 2025 16:12:05 +0100 Subject: [PATCH] Enhance parameter extraction for notifications in MessagesDialog component --- .../src/components/falukant/MessagesDialog.vue | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/falukant/MessagesDialog.vue b/frontend/src/components/falukant/MessagesDialog.vue index 859aa84..f399915 100644 --- a/frontend/src/components/falukant/MessagesDialog.vue +++ b/frontend/src/components/falukant/MessagesDialog.vue @@ -174,7 +174,11 @@ export default { try { const titleKey = `${eventKey}.title`; const descKey = `${eventKey}.description`; - + // If no params were parsed from JSON, try to extract them from the notification (effects, character_id, etc.) + if ((!params || Object.keys(params).length === 0) && n) { + params = this.extractParams(n) || {}; + } + if (this.$te(titleKey) && this.$te(descKey)) { const title = this.$t(titleKey, params); const description = this.$t(descKey, params); @@ -242,15 +246,18 @@ export default { params.percent = effect.percent; } } else if (effect.type === 'character_health_change') { - if (effect.character_id && n.character_id === effect.character_id) { - params.characterName = n.characterName || ''; + if (effect.character_id) { + // Prefer explicit characterName from notification, otherwise fall back to provided name or use id placeholder + params.character_id = effect.character_id; + params.characterName = params.characterName || n.characterName || `#${effect.character_id}`; } if (effect.change !== undefined) { params.change = effect.change; } } else if (effect.type === 'character_death') { - if (effect.character_id && n.character_id === effect.character_id) { - params.characterName = n.characterName || ''; + if (effect.character_id) { + params.character_id = effect.character_id; + params.characterName = params.characterName || n.characterName || `#${effect.character_id}`; } } else if (effect.type === 'storage_damage') { if (effect.inventory_damage_percent !== undefined) {