Enhance parameter extraction for notifications in MessagesDialog component
This commit is contained in:
@@ -174,6 +174,10 @@ 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);
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user