This commit is contained in:
cay 2026-04-12 10:19:59 +01:00
parent 14d9f2c77c
commit 74f86e36f2
2 changed files with 18 additions and 3 deletions

View File

@ -459,7 +459,7 @@ async function handle1v1Click(card) {
hideQueueStatus();
showMatchFoundOverlay(me.name, data.opponent.name, () => {
openArenaPopup(
`/arena/1v1?match=${encodeURIComponent(data.matchId)}&slot=${encodeURIComponent(data.mySlot)}&deck=${encodeURIComponent(selectedDeckId||'')}`,
`/arena/1v1?match=${encodeURIComponent(data.matchId)}&slot=${encodeURIComponent(data.mySlot)}&deck=${encodeURIComponent(selectedDeckId||'')}&opponent=${encodeURIComponent(data.opponent.name||'')}`,
data.opponent.name, data.matchId
);
});

View File

@ -720,6 +720,13 @@
const mySlot = urlParams.get("slot") || "<%= mySlot || 'player1' %>";
const amIPlayer1 = mySlot === "player1";
// Gegner-Name direkt aus URL setzen (kommt aus match_found, immer korrekt)
const opponentNameFromUrl = urlParams.get("opponent");
if (opponentNameFromUrl) {
const oppEl = document.getElementById(amIPlayer1 ? "nameRight" : "nameLeft");
if (oppEl) oppEl.textContent = decodeURIComponent(opponentNameFromUrl);
}
/* ── Socket ─────────────────────────────────────────── */
const socket = io();
@ -807,12 +814,20 @@
console.log("[Arena] arena_ready:", data);
clearTimeout(readyFallbackTimer);
document.getElementById("connecting-overlay")?.remove();
// Gegner-Name aus server-Daten setzen (immer, außer leer)
// Gegner-Name: URL-Parameter hat Vorrang (aus match_found, 100% korrekt)
// Server-Daten nur als Fallback wenn URL-Name fehlt
const oppName = amIPlayer1 ? data.player2 : data.player1;
const oppEl = document.getElementById(
amIPlayer1 ? "nameRight" : "nameLeft",
);
if (oppEl && oppName) oppEl.textContent = oppName;
const currentOppName = oppEl?.textContent || "";
const urlOppName = urlParams.get("opponent");
// Nur überschreiben wenn Server einen echten Namen hat (nicht "Spieler"/"Spieler 1"/"Spieler 2")
if (oppEl && oppName && !["Spieler", "Spieler 1", "Spieler 2", "Gegner"].includes(oppName)) {
oppEl.textContent = oppName;
} else if (oppEl && urlOppName && (!currentOppName || currentOppName === "Gegner")) {
oppEl.textContent = decodeURIComponent(urlOppName);
}
// Eigenen Namen sichern falls noch nicht gesetzt
const myEl = document.getElementById(
amIPlayer1 ? "nameLeft" : "nameRight",