Enhance parameter extraction for notifications in MessagesDialog component
This commit is contained in:
@@ -174,7 +174,11 @@ export default {
|
|||||||
try {
|
try {
|
||||||
const titleKey = `${eventKey}.title`;
|
const titleKey = `${eventKey}.title`;
|
||||||
const descKey = `${eventKey}.description`;
|
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)) {
|
if (this.$te(titleKey) && this.$te(descKey)) {
|
||||||
const title = this.$t(titleKey, params);
|
const title = this.$t(titleKey, params);
|
||||||
const description = this.$t(descKey, params);
|
const description = this.$t(descKey, params);
|
||||||
@@ -242,15 +246,18 @@ export default {
|
|||||||
params.percent = effect.percent;
|
params.percent = effect.percent;
|
||||||
}
|
}
|
||||||
} else if (effect.type === 'character_health_change') {
|
} else if (effect.type === 'character_health_change') {
|
||||||
if (effect.character_id && n.character_id === effect.character_id) {
|
if (effect.character_id) {
|
||||||
params.characterName = n.characterName || '';
|
// 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) {
|
if (effect.change !== undefined) {
|
||||||
params.change = effect.change;
|
params.change = effect.change;
|
||||||
}
|
}
|
||||||
} else if (effect.type === 'character_death') {
|
} else if (effect.type === 'character_death') {
|
||||||
if (effect.character_id && n.character_id === effect.character_id) {
|
if (effect.character_id) {
|
||||||
params.characterName = n.characterName || '';
|
params.character_id = effect.character_id;
|
||||||
|
params.characterName = params.characterName || n.characterName || `#${effect.character_id}`;
|
||||||
}
|
}
|
||||||
} else if (effect.type === 'storage_damage') {
|
} else if (effect.type === 'storage_damage') {
|
||||||
if (effect.inventory_damage_percent !== undefined) {
|
if (effect.inventory_damage_percent !== undefined) {
|
||||||
|
|||||||
Reference in New Issue
Block a user