From 0eee546ef187f9c719c07eb04faf872783a5c0e5 Mon Sep 17 00:00:00 2001 From: LQ63 Date: Tue, 13 Jan 2026 22:22:34 +0100 Subject: [PATCH 1/2] feat(ui): Tie selection Added a nice tie selection ui --- knockoutwhistweb/app/dto/TieInfoDTO.scala | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/knockoutwhistweb/app/dto/TieInfoDTO.scala b/knockoutwhistweb/app/dto/TieInfoDTO.scala index 0710dab..0ecbda5 100644 --- a/knockoutwhistweb/app/dto/TieInfoDTO.scala +++ b/knockoutwhistweb/app/dto/TieInfoDTO.scala @@ -1,12 +1,13 @@ package dto -import dto.subDTO.PlayerDTO +import de.knockoutwhist.cards.Card +import dto.subDTO.{CardDTO, PlayerDTO} import logic.game.GameLobby import model.users.User import scala.util.Try -case class TieInfoDTO(gameId: String, currentPlayer: Option[PlayerDTO], self: Option[PlayerDTO], tiedPlayers: Seq[PlayerDTO], highestAmount: Int) +case class TieInfoDTO(gameId: String, currentPlayer: Option[PlayerDTO], self: Option[PlayerDTO], tiedPlayers: Seq[PlayerDTO], highestAmount: Int, selectedCards: Map[String, CardDTO]) object TieInfoDTO { @@ -20,7 +21,10 @@ object TieInfoDTO { currentPlayer = lobby.logic.playerTieLogic.currentTiePlayer().map(PlayerDTO.apply), self = selfPlayer.map(PlayerDTO.apply), tiedPlayers = lobby.logic.playerTieLogic.getTiedPlayers.map(PlayerDTO.apply), - highestAmount = lobby.logic.playerTieLogic.highestAllowedNumber() + highestAmount = lobby.logic.playerTieLogic.highestAllowedNumber(), + selectedCards = lobby.logic.playerTieLogic.getSelectedCard.map { + case (player, card) => player.id.toString -> CardDTO(card) + } ) } -- 2.52.0 From be4784c866524c10200abf134244f49420958348 Mon Sep 17 00:00:00 2001 From: LQ63 Date: Thu, 22 Jan 2026 01:06:25 +0100 Subject: [PATCH 2/2] feat(ui): FRO-26 Tie selection Added a nice tie selection ui --- knockoutwhistweb/app/dto/TieInfoDTO.scala | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/knockoutwhistweb/app/dto/TieInfoDTO.scala b/knockoutwhistweb/app/dto/TieInfoDTO.scala index 0ecbda5..65f64ce 100644 --- a/knockoutwhistweb/app/dto/TieInfoDTO.scala +++ b/knockoutwhistweb/app/dto/TieInfoDTO.scala @@ -7,7 +7,7 @@ import model.users.User import scala.util.Try -case class TieInfoDTO(gameId: String, currentPlayer: Option[PlayerDTO], self: Option[PlayerDTO], tiedPlayers: Seq[PlayerDTO], highestAmount: Int, selectedCards: Map[String, CardDTO]) +case class TieInfoDTO(gameId: String, currentPlayer: Option[PlayerDTO], self: Option[PlayerDTO], tiedPlayers: Seq[PlayerDTO], highestAmount: Int, selectedCards: Map[String, CardDTO], winners: Option[Seq[PlayerDTO]]) object TieInfoDTO { @@ -24,7 +24,8 @@ object TieInfoDTO { highestAmount = lobby.logic.playerTieLogic.highestAllowedNumber(), selectedCards = lobby.logic.playerTieLogic.getSelectedCard.map { case (player, card) => player.id.toString -> CardDTO(card) - } + }, + winners = Some(lobby.logic.playerTieLogic.getSelectedCard.filter((_,card) => card == lobby.logic.playerTieLogic.getSelectedCard.values.maxBy(_.cardValue.ordinal)).keySet.toList.map(PlayerDTO.apply)) ) } -- 2.52.0