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