fix failure to attach event listener

This commit is contained in:
AlecM33
2021-12-29 15:47:46 -05:00
parent 94a6ac595b
commit 9ba1cff82c
4 changed files with 40 additions and 29 deletions

View File

@@ -30,7 +30,7 @@ export class GameStateRenderer {
}
let playerCount = this.stateBucket.currentGameState.people.length;
document.querySelector("label[for='lobby-players']").innerText =
"People (" + playerCount + "/" + getGameSize(this.stateBucket.currentGameState.deck) + " Players)";
"Participants (" + playerCount + "/" + getGameSize(this.stateBucket.currentGameState.deck) + " Players)";
}
renderLobbyHeader() {
@@ -92,19 +92,7 @@ export class GameStateRenderer {
}
renderModeratorView() {
let div = document.createElement("div");
div.innerHTML = templates.END_GAME_PROMPT;
div.querySelector("#end-game-button").addEventListener('click', (e) => {
e.preventDefault();
if (confirm("End the game?")) {
this.socket.emit(
globals.COMMANDS.END_GAME,
this.stateBucket.currentGameState.accessCode
);
}
});
document.getElementById("game-content").appendChild(div);
createEndGamePromptComponent(this.socket, this.stateBucket);
let modTransferButton = document.getElementById("mod-transfer-button");
modTransferButton.addEventListener(
@@ -121,9 +109,7 @@ export class GameStateRenderer {
}
renderTempModView() {
let div = document.createElement("div");
div.innerHTML = templates.END_GAME_PROMPT;
document.body.appendChild(div);
createEndGamePromptComponent(this.socket, this.stateBucket)
renderPlayerRole(this.stateBucket.currentGameState);
this.renderPlayersWithNoRoleInformationUnlessRevealed(true);
@@ -463,3 +449,18 @@ function removeExistingPlayerElements(killPlayerHandlers, revealRoleHandlers) {
el.remove();
});
}
function createEndGamePromptComponent(socket, stateBucket) {
let div = document.createElement("div");
div.innerHTML = templates.END_GAME_PROMPT;
div.querySelector("#end-game-button").addEventListener('click', (e) => {
e.preventDefault();
if (confirm("End the game?")) {
socket.emit(
globals.COMMANDS.END_GAME,
stateBucket.currentGameState.accessCode
);
}
});
document.getElementById("game-content").appendChild(div);
}