diff --git a/knockoutwhistweb/app/assets/stylesheets/dark-mode.less b/knockoutwhistweb/app/assets/stylesheets/dark-mode.less
index 02d2efa..c34aab1 100644
--- a/knockoutwhistweb/app/assets/stylesheets/dark-mode.less
+++ b/knockoutwhistweb/app/assets/stylesheets/dark-mode.less
@@ -3,7 +3,7 @@
--background-image: url('/assets/images/background.png') !important;
--color: #f8f9fa !important; /* Light text on dark bg */
--highlightscolor: rgba(131, 131, 131, 0.75) !important;
-
+ --background-color: #192734;
/* Bootstrap variable overrides for dark mode */
--bs-body-color: var(--color);
--bs-link-color: #66b2ff;
diff --git a/knockoutwhistweb/app/assets/stylesheets/light-mode.less b/knockoutwhistweb/app/assets/stylesheets/light-mode.less
index 5975dcc..3054bc2 100644
--- a/knockoutwhistweb/app/assets/stylesheets/light-mode.less
+++ b/knockoutwhistweb/app/assets/stylesheets/light-mode.less
@@ -2,4 +2,5 @@
--background-image: url('/assets/images/img.png');
--color: black;
--highlightscolor: rgba(0, 0, 0, 0.75);
+ --background-color: rgba(228, 232, 237, 1);
}
diff --git a/knockoutwhistweb/app/assets/stylesheets/main.less b/knockoutwhistweb/app/assets/stylesheets/main.less
index d41bf29..145789b 100644
--- a/knockoutwhistweb/app/assets/stylesheets/main.less
+++ b/knockoutwhistweb/app/assets/stylesheets/main.less
@@ -14,7 +14,7 @@
--bs-border-color: rgba(0, 0, 0, 0.125) !important;
--bs-heading-color: var(--color) !important;
}
-
+@background-color: var(--background-color);
@highlightcolor: var(--highlightscolor);
@background-image: var(--background-image);
@color: var(--color);
@@ -24,10 +24,14 @@
}
.game-field-background {
background-image: @background-image;
- background-size: cover;
- background-position: center center;
- background-repeat: no-repeat;
- background-attachment: fixed;
+ max-width: 1400px;
+ margin: 0 auto;
+ min-height: 100vh;
+}
+.lobby-background {
+ background-color: @background-color;
+ width: 100%;
+ height: 100vh;
}
.navbar-header{
@@ -45,8 +49,11 @@
.bottom-div {
position: fixed;
bottom: 0;
- left: 0;
+ left: 50%;
+ transform: translateX(-50%);
+ max-width: 1400px;
width: 100%;
+ margin: 0;
text-align: center;
padding: 10px;
}
@@ -205,4 +212,20 @@ body {
color: @color;
font-size: 1.5em;
font-family: Arial, serif;
+}
+.score-table {
+ background-color: rgba(255, 255, 255, 0.1);
+ border-radius: 8px;
+ padding: 10px;
+ margin-bottom: 20px;
+ backdrop-filter: blur(8px);
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
+}
+.score-header {
+ font-weight: bold;
+ color: #000000;
+ border-bottom: 1px solid rgba(255, 255, 255, 0.3);
+}
+.score-row {
+ color: #000000;
}
\ No newline at end of file
diff --git a/knockoutwhistweb/app/views/ingame/ingame.scala.html b/knockoutwhistweb/app/views/ingame/ingame.scala.html
index db56c27..e18bb49 100644
--- a/knockoutwhistweb/app/views/ingame/ingame.scala.html
+++ b/knockoutwhistweb/app/views/ingame/ingame.scala.html
@@ -3,58 +3,77 @@
@(player: de.knockoutwhist.player.AbstractPlayer, gamelobby: logic.game.GameLobby)
@main("Ingame") {
-
+
+
+
-
-
-
Current Player
-
@gamelobby.getLogic.getCurrentPlayer.get.name
- @if(!TrickUtil.isOver(gamelobby.getLogic.getCurrentMatch.get, gamelobby.getLogic.getPlayerQueue.get)) {
+
+
+
Current Player
+
@gamelobby.getLogic.getCurrentPlayer.get.name
+ @if(!TrickUtil.isOver(gamelobby.getLogic.getCurrentMatch.get, gamelobby.getLogic.getPlayerQueue.get)) {
Next Player
@for(nextplayer <- gamelobby.getLogic.getPlayerQueue.get.duplicate()) {
-
@nextplayer
+
@nextplayer
}
- }
-
+ }
+
-
- @for((cardplayed, player) <- gamelobby.getLogic.getCurrentTrick.get.cards) {
-
-
-
- @util.WebUIUtils.cardtoImage(cardplayed) width="100%"/>
-
-
-
@player
+
+
+
+
Tricks Won
+
+
+
+ @for(player <- gamelobby.getLogic.getPlayerQueue.get.toList.sortBy { p =>
+ -(gamelobby.getLogic.getCurrentRound.get.tricklist.filter { trick => trick.winner.contains(p) }.size)
+ }) {
+
+
@player.name
+
+ @(gamelobby.getLogic.getCurrentRound.get.tricklist.filter { trick => trick.winner.contains(player) }.size)
+ }
+
- }
-
+
+ @for((cardplayed, player) <- gamelobby.getLogic.getCurrentTrick.get.cards) {
+
+
+
+ @util.WebUIUtils.cardtoImage(cardplayed) width="100%"/>
+
+
+ @player
+
+
+
+ }
+
+
+
+
Trumpsuit
+
@gamelobby.getLogic.getCurrentRound.get.trumpSuit
-
-
Trumpsuit
-
@gamelobby.getLogic.getCurrentRound.get.trumpSuit
-
-
First Card
-
- @if(gamelobby.getLogic.getCurrentTrick.get.firstCard.isDefined) {
- @util.WebUIUtils.cardtoImage(gamelobby.getLogic.getCurrentTrick.get.firstCard.get) width="80px"/>
- } else {
- @views.html.render.card.apply("images/cards/1B.png")("Blank Card") width="80px"/>
- }
+
First Card
+
+ @if(gamelobby.getLogic.getCurrentTrick.get.firstCard.isDefined) {
+ @util.WebUIUtils.cardtoImage(gamelobby.getLogic.getCurrentTrick.get.firstCard.get) width="80px"/>
+ } else {
+ @views.html.render.card.apply("images/cards/1B.png")("Blank Card") width="80px"/>
+ }
+
-
-
-
-
-
-
-
-
- @for(i <- player.currentHand().get.cards.indices) {
+
+
+ @for(i <- player.currentHand().get.cards.indices) {
- }
+ }
+
-
+
+
}
diff --git a/knockoutwhistweb/app/views/lobby/lobby.scala.html b/knockoutwhistweb/app/views/lobby/lobby.scala.html
index 46eabb6..a8832e9 100644
--- a/knockoutwhistweb/app/views/lobby/lobby.scala.html
+++ b/knockoutwhistweb/app/views/lobby/lobby.scala.html
@@ -1,82 +1,73 @@
@(user: Option[model.users.User], gamelobby: logic.game.GameLobby)
@main("Lobby") {
-
-
-
-
-
- Lobby-Name: @gamelobby.name
+
+
+
+
+
+
+ Lobby-Name: @gamelobby.name
+
+
-
-
-
-
-
Playeramount: @gamelobby.getPlayers.size / @gamelobby.maxPlayers
+
+
+
Playeramount: @gamelobby.getPlayers.size / @gamelobby.maxPlayers
+
-
-
-
- @if((gamelobby.getUserSession(user.get.id).host)) {
- @for(playersession <- gamelobby.getPlayers.values) {
-
-
+
+ @if((gamelobby.getUserSession(user.get.id).host)) {
+ @for(playersession <- gamelobby.getPlayers.values) {
+
+
+

+
+ @if(playersession.id == user.get.id) {
+
@playersession.name (You)
+ @*
Your text could be here!
*@
+
Remove
+ } else {
+
@playersession.name
+ @*
Your text could be here!
*@
+
+ }
+
+
+
+ }
+
+ } else {
+ @for(playersession <- gamelobby.getPlayers.values) {
+
@if(playersession.id == user.get.id) {
-
@playersession.name (You)
-@*
Your text could be here!
*@
-
Remove
+
@playersession.name (You)
} else {
-
@playersession.name
-@*
Your text could be here!
*@
-
+
@playersession.name
}
-
-
- }
-
- } else {
- @for(playersession <- gamelobby.getPlayers.values) {
-
-
-

-
- @if(playersession.id == user.get.id) {
-
@playersession.name (You)
- } else {
- @playersession.name
- }
-
-
-
- }
-
-
-
Waiting for the host to start the game...
-
-
-
-
-
+ }
+
+
+
Waiting for the host to start the game...
+
+ Loading...
+
-
- }
+ }
+
-
+
}
\ No newline at end of file
diff --git a/knockoutwhistweb/app/views/main.scala.html b/knockoutwhistweb/app/views/main.scala.html
index daccc3a..12d9c2c 100644
--- a/knockoutwhistweb/app/views/main.scala.html
+++ b/knockoutwhistweb/app/views/main.scala.html
@@ -18,15 +18,10 @@
-
-
+
@* And here's where we render the `Html` object containing
* the page content. *@
@content
-
-
-
diff --git a/knockoutwhistweb/app/views/mainmenu/creategame.scala.html b/knockoutwhistweb/app/views/mainmenu/creategame.scala.html
index 1e5905c..4872ddc 100644
--- a/knockoutwhistweb/app/views/mainmenu/creategame.scala.html
+++ b/knockoutwhistweb/app/views/mainmenu/creategame.scala.html
@@ -2,31 +2,33 @@
@main("Create Game") {
@navbar(user)
-