Enhance character name resolution logic in MessagesDialog component

- Improved character name extraction by prioritizing names resolved from the backend over those from notification values.
- Simplified fallback mechanisms for character names, ensuring a more robust handling of character IDs.
- Streamlined the logic for handling character names in various effect types, enhancing clarity and maintainability of the code.
This commit is contained in:
Torsten Schulz (local)
2026-01-15 14:08:02 +01:00
parent a17e8537fb
commit d3629a8a09

View File

@@ -353,11 +353,13 @@ export default {
params.percent = value.money_change_percent;
}
// Charakternamen aus value extrahieren
if (value.character_first_name || value.character_last_name) {
const firstName = value.character_first_name || '';
const lastName = value.character_last_name || '';
params.characterName = `${firstName} ${lastName}`.trim() || value.character_id ? `#${value.character_id}` : null;
// Charakternamen: Priorität auf vom Backend aufgelösten Namen (n.characterName)
if (n.characterName) {
params.characterName = n.characterName;
} else if (value.characterName) {
params.characterName = value.characterName;
} else if (value.character_id) {
params.characterName = `#${value.character_id}`;
}
if (value.character_id) {
params.character_id = value.character_id;
@@ -384,27 +386,20 @@ export default {
params.percent = effect.percent;
}
} else if (effect.type === 'character_health_change') {
// Charakternamen aus Effect haben Vorrang
if (effect.character_first_name || effect.character_last_name) {
const firstName = effect.character_first_name || '';
const lastName = effect.character_last_name || '';
params.characterName = `${firstName} ${lastName}`.trim();
}
if (effect.character_id) {
// Charakternamen: Backend-aufgelöst hat Vorrang
if (!params.characterName && effect.character_id) {
params.character_id = effect.character_id;
params.characterName = n.characterName || `#${effect.character_id}`;
}
if (effect.change !== undefined) {
params.change = effect.change;
params.healthChange = effect.change > 0 ? `+${effect.change}` : `${effect.change}`;
}
} else if (effect.type === 'character_death') {
if (effect.character_first_name || effect.character_last_name) {
const firstName = effect.character_first_name || '';
const lastName = effect.character_last_name || '';
params.characterName = `${firstName} ${lastName}`.trim();
}
if (effect.character_id) {
// Charakternamen: Backend-aufgelöst hat Vorrang
if (!params.characterName && effect.character_id) {
params.character_id = effect.character_id;
params.characterName = n.characterName || `#${effect.character_id}`;
}
} else if (effect.type === 'storage_damage') {
if (effect.inventory_damage_percent !== undefined) {
@@ -429,10 +424,7 @@ export default {
}
}
// Fallback: Charakternamen aus Notification-Spalte
if (!params.characterName && n.characterName) {
params.characterName = n.characterName;
}
// Fallback: character_id als letzter Ausweg
if (!params.characterName && n.character_id) {
params.characterName = `#${n.character_id}`;
}