diff --git a/client/src/modules/GameStateRenderer.js b/client/src/modules/GameStateRenderer.js index fdc6c7a..55f8916 100644 --- a/client/src/modules/GameStateRenderer.js +++ b/client/src/modules/GameStateRenderer.js @@ -2,6 +2,8 @@ import { globals } from '../config/globals.js'; import { toast } from './Toast.js'; import { HTMLFragments } from './HTMLFragments.js'; import { ModalManager } from './ModalManager.js'; +import {XHRUtility} from "./XHRUtility"; +import {UserUtility} from "./UserUtility"; export class GameStateRenderer { constructor (stateBucket, socket) { @@ -256,7 +258,33 @@ export class GameStateRenderer { } } - renderEndOfGame () { + renderEndOfGame (gameState) { + if ( + gameState.client.userType === globals.USER_TYPES.MODERATOR + || gameState.client.userType === globals.USER_TYPES.TEMPORARY_MODERATOR + ) { + let div = document.createElement('div'); + div.innerHTML = HTMLFragments.RESTART_GAME_BUTTON; + div.querySelector('#restart-game').addEventListener('click', () => { + XHRUtility.xhr( + '/api/games/' + gameState.accessCode + '/restart', + 'PATCH', + null, + JSON.stringify({ + playerName: gameState.client.name, + accessCode: gameState.accessCode, + sessionCookie: UserUtility.validateAnonUserSignature(globals.ENVIRONMENT.LOCAL), + localCookie: UserUtility.validateAnonUserSignature(globals.ENVIRONMENT.PRODUCTION) + }) + ) + .then((res) => { + + }).catch((res) => { + + }); + }) + document.getElementById('end-of-game-buttons').appendChild(div); + } this.renderPlayersWithNoRoleInformationUnlessRevealed(); } } diff --git a/client/src/modules/GameTimerManager.js b/client/src/modules/GameTimerManager.js index 6313512..7df7c04 100644 --- a/client/src/modules/GameTimerManager.js +++ b/client/src/modules/GameTimerManager.js @@ -135,6 +135,7 @@ export class GameTimerManager { const playBtn = document.createElement('img'); playBtn.setAttribute('src', '../images/play-button.svg'); playBtn.addEventListener('click', this.playListener); + document.querySelector('#play-pause-placeholder')?.remove(); document.getElementById('play-pause').appendChild(playBtn); } diff --git a/client/src/modules/HTMLFragments.js b/client/src/modules/HTMLFragments.js index a5f8bc0..bcbda1b 100644 --- a/client/src/modules/HTMLFragments.js +++ b/client/src/modules/HTMLFragments.js @@ -95,7 +95,9 @@ export const HTMLFragments = {
-