From 729d9820111c0836f2b86788c6e1b4a6128d08eb Mon Sep 17 00:00:00 2001 From: Janis Date: Wed, 26 Nov 2025 13:56:23 +0100 Subject: [PATCH] feat(api): Implemented turn event via websocket --- knockoutwhistweb/public/javascripts/events.js | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/knockoutwhistweb/public/javascripts/events.js b/knockoutwhistweb/public/javascripts/events.js index 3f1d4d6..e23d4fe 100644 --- a/knockoutwhistweb/public/javascripts/events.js +++ b/knockoutwhistweb/public/javascripts/events.js @@ -85,6 +85,37 @@ function receiveCardPlayedEvent(eventData) { `; firstCardContainer.html(newFirstCardHTML); } +function receiveTurnEvent(eventData) { + const currentPlayer = eventData.currentPlayer; + const nextPlayers = eventData.nextPlayers; + + const currentPlayerNameContainer = $('#current-player-name'); + const nextPlayersContainer = $('#next-players-container'); + const nextPlayerText = $('#next-players-section'); + + let currentPlayerName = currentPlayer.name; + if (currentPlayer.dog) { + currentPlayerName += " 🐶"; + } + currentPlayerNameContainer.text(currentPlayerName); + + if (nextPlayers.length === 0) { + nextPlayerText.hide(); + nextPlayersContainer.html(''); + } else { + nextPlayerText.show(); + let nextPlayersHtml = ''; + nextPlayers.forEach((player) => { + let playerName = player.name; + if (player.dog) { + playerName += " 🐶"; + } + nextPlayersHtml += `

${playerName}

`; + }); + nextPlayersContainer.html(nextPlayersHtml); + } +} + function receiveLobbyUpdateEvent(eventData) { const host = eventData.host; const maxPlayers = eventData.maxPlayers; @@ -192,5 +223,4 @@ onEvent("LobbyUpdateEvent", receiveLobbyUpdateEvent) onEvent("LeftEvent", receiveGameStateChange) onEvent("KickEvent", receiveKickEvent) onEvent("SessionClosed", receiveSessionClosedEvent) - onEvent("TurnEvent", receiveTurnEvent) \ No newline at end of file