Enhance parameter extraction for notifications in MessagesDialog component

This commit is contained in:
Torsten Schulz (local)
2025-12-08 16:12:05 +01:00
parent 000ebbdc2b
commit 856f7d56bf

View File

@@ -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) {