diff --git a/views/1v1-battlefield.ejs b/views/1v1-battlefield.ejs index 4c22709..d484be2 100644 --- a/views/1v1-battlefield.ejs +++ b/views/1v1-battlefield.ejs @@ -353,17 +353,75 @@ } }); - /* ── Aufgeben ───────────────────────────────────────── */ + /* ── Aufgeben Modal ─────────────────────────────────── */ function handleAufgeben() { - if (!confirm("Wirklich aufgeben? Du erhältst keine Punkte.")) return; - socket.emit("player_surrender", { matchId, slot: mySlot }); + // Eigenes Modal statt browser confirm() + const modal = document.createElement("div"); + modal.id = "surrender-modal"; + modal.style.cssText = "position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.8);display:flex;align-items:center;justify-content:center;"; + modal.innerHTML = ` +
+ Willst du wirklich aufgeben?
+ Du erhältst keine Punkte für dieses Match.
+
Dein Gegner hat aufgegeben.
+Du wirst weitergeleitet…
` + : `Du hast das Match aufgegeben.
+Du wirst weitergeleitet…
`; + 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); } /* ── Spielende Events ───────────────────────────────── */ socket.on("player_surrendered", data => { - /* Overlay sofort anzeigen, Punkte kommen per match_result */ const iLost = data.slot === mySlot; - showResultOverlay(iLost ? false : true, null); + if (!iLost) { + // Ich habe gewonnen (Gegner hat aufgegeben) + showSurrenderMessage(true); + } + // Wenn ich selbst aufgegeben habe, läuft showSurrenderMessage(false) schon }); /* Punkte-Ergebnis vom Server (kommt kurz nach player_surrendered) */ @@ -429,14 +487,13 @@ .catch(() => {}); } - /* ── Popup schließen ────────────────────────────────── */ + /* ── Popup schließen → immer zu Launcher ──────────── */ function closePopup() { if (window.parent && window.parent !== window) { window.parent.document.getElementById("arena-backdrop")?.remove(); window.parent.document.getElementById("arena-popup")?.remove(); - } else { - window.close(); } + window.top.location.href = "/launcher"; } document.getElementById("result-close-btn").addEventListener("click", closePopup);