diff --git a/views/1v1-battlefield.ejs b/views/1v1-battlefield.ejs index 22d2bd5..4be3dfb 100644 --- a/views/1v1-battlefield.ejs +++ b/views/1v1-battlefield.ejs @@ -750,36 +750,81 @@ }); } + /* ── Zurück zum Arena-Popup (nicht zum Launcher) ─────── */ + function closeToArena() { + if (window.parent && window.parent !== window) { + window.parent.document.getElementById("arena-backdrop")?.remove(); + window.parent.document.getElementById("arena-popup")?.remove(); + } else { + window.location.href = "/launcher"; + } + } + /* ── Nachricht anzeigen + weiterleiten ──────────────── */ function showSurrenderMessage(iWon) { const overlay = document.createElement("div"); - overlay.style.cssText = "position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.9);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'Cinzel',serif;"; - overlay.innerHTML = iWon - ? `
🏆
-
SIEG!
-

Dein Gegner hat aufgegeben.

-

Du wirst weitergeleitet…

` - : `
🏳️
-
AUFGEGEBEN
-

Du hast das Match aufgegeben.

-

Du wirst weitergeleitet…

`; + overlay.id = "surrender-result-overlay"; + overlay.style.cssText = ` + position:fixed;inset:0;z-index:9999; + background:rgba(0,0,0,0.92); + display:flex;flex-direction:column; + align-items:center;justify-content:center; + font-family:'Cinzel',serif; + animation:fadeIn 0.4s ease;`; + + if (iWon) { + overlay.innerHTML = ` +
🏆
+
SIEG!
+
+ Dein Gegner hat aufgegeben.
+
+ Du erhältst die Arena-Punkte für dieses Match.
+ `; + } else { + overlay.innerHTML = ` +
🏳️
+
AUFGEGEBEN
+
+ Du hast das Match aufgegeben.
+
+ Keine Punkte für dieses Match.
+ `; + } + document.body.appendChild(overlay); - setTimeout(() => { - // Immer zur Startseite (launcher) weiterleiten - if (window.parent && window.parent !== window) { - window.parent.document.getElementById("arena-backdrop")?.remove(); - window.parent.document.getElementById("arena-popup")?.remove(); - } - window.top.location.href = "/launcher"; - }, 2500); + // Button-Klick → zurück zum Arena-Popup + document.getElementById("surrender-close-btn") + .addEventListener("click", closeToArena); + + // Auto-Close nach 8s + setTimeout(closeToArena, 8000); } /* ── Spielende Events ───────────────────────────────── */ socket.on("player_surrendered", data => { const iLost = data.slot === mySlot; if (!iLost) { - // Ich habe gewonnen (Gegner hat aufgegeben) + // Ich habe gewonnen – Gegner hat aufgegeben showSurrenderMessage(true); } // Wenn ich selbst aufgegeben habe, läuft showSurrenderMessage(false) schon @@ -848,13 +893,9 @@ .catch(() => {}); } - /* ── Popup schließen → immer zu Launcher ──────────── */ + /* ── Popup schließen → zurück zum Arena-Popup ────────── */ function closePopup() { - if (window.parent && window.parent !== window) { - window.parent.document.getElementById("arena-backdrop")?.remove(); - window.parent.document.getElementById("arena-popup")?.remove(); - } - window.top.location.href = "/launcher"; + closeToArena(); } document.getElementById("result-close-btn").addEventListener("click", closePopup);