fix: update file paths and improve session handling in user interactions

This commit is contained in:
2025-11-06 10:03:12 +01:00
parent 051e7406e3
commit 2e5542429a
10 changed files with 72 additions and 46 deletions

View File

@@ -3,11 +3,10 @@
@(player: de.knockoutwhist.player.AbstractPlayer, gamelobby: logic.game.GameLobby)
@main("Ingame") {
<div class="container py-5">
<div class="py-5 ms-4 me-4">
<!-- Header Row -->
<div class="row mb-4 text-center">
<div class="col-md-4 text-start">
<div class="row ms-4 me-4">
<div class="col-4 mt-5 text-start">
<h4 class="fw-semibold mb-1">Current Player</h4>
<p class="fs-5 text-primary">@gamelobby.getLogic.getCurrentPlayer.get.name</p>
@if(!TrickUtil.isOver(gamelobby.getLogic.getCurrentMatch.get, gamelobby.getLogic.getPlayerQueue.get)) {
@@ -18,9 +17,19 @@
}
</div>
<!-- Middle column without "Cards Played" -->
<div class="col-md-4 text-center">
<!-- You can leave this empty or add something else here if needed -->
<div class="d-flex col-md-4 text-center justify-content-center g-3 mb-5">
@for((cardplayed, player) <- gamelobby.getLogic.getCurrentTrick.get.cards) {
<div class="col-auto">
<div class="card text-center shadow-sm border-0 bg-transparent" style="width: 7rem; backdrop-filter: blur(4px);">
<div class="p-2">
@util.WebUIUtils.cardtoImage(cardplayed) width="100%"/>
</div>
<div class="card-body p-2 bg-transparent">
<small class="fw-semibold text-secondary">@player</small>
</div>
</div>
</div>
}
</div>
<div class="col-md-4 text-end">
@@ -38,34 +47,24 @@
</div>
</div>
<!-- Cards Played -->
<div class="row justify-content-center g-3 mb-5">
@for((cardplayed, player) <- gamelobby.getLogic.getCurrentTrick.get.cards) {
<div class="col-auto">
<div class="card text-center shadow-sm border-0" style="width: 7rem;">
<div class="p-2">
@util.WebUIUtils.cardtoImage(cardplayed) width="100%"/>
</div>
<div class="card-body p-2 bg-light">
<small class="fw-semibold text-secondary">@player</small>
</div>
</div>
</div>
}
<div class="row">
</div>
<!-- Player Hand at the BOTTOM -->
<div class="row justify-content-center g-2 mt-4" id="card-slide">
@for(i <- player.currentHand().get.cards.indices) {
<div class="col-auto">
<form action="@(routes.IngameController.playCard(gamelobby.id))" method="post" class="m-0 p-0">
<input type="hidden" name="cardId" value="@i" />
<button type="submit" class="btn btn-outline-light p-0 border-0 shadow-none">
@util.WebUIUtils.cardtoImage(player.currentHand().get.cards(i)) width="120px"/>
</button>
</form>
</div>
}
<div class="row justify-content-center g-2 mt-4 bottom-div" style="backdrop-filter: blur(4px);">
<div class="row justify-content-center" id="card-slide">
@for(i <- player.currentHand().get.cards.indices) {
<div class="col-auto handcard" style="border-radius: 6px">
<form action="@(routes.IngameController.playCard(gamelobby.id))" method="post" class="m-0 p-0" style="border-radius: 6px">
<input type="hidden" name="cardId" value="@i" />
<button type="submit" class="btn btn-outline-light p-0 border-0 shadow-none" style="border-radius: 6px">
@util.WebUIUtils.cardtoImage(player.currentHand().get.cards(i)) width="120px" style="border-radius: 6px"/>
</button>
</form>
</div>
}
</div>
</div>
</div>
}

View File

@@ -29,11 +29,11 @@
<div class="card-body">
@if(playersession.id == user.get.id) {
<h5 class="card-title">@playersession.name (You)</h5>
<p class="card-text">Your text could be here!</p>
@* <p class="card-text">Your text could be here!</p>*@
<a href="#" class="btn btn-danger disabled" aria-disabled="true" tabindex="-1">Remove</a>
} else {
<h5 class="card-title">@playersession.name</h5>
<p class="card-text">Your text could be here!</p>
@* <p class="card-text">Your text could be here!</p>*@
<form action="@(routes.IngameController.kickPlayer(gamelobby.id, playersession.id))" method="post">
<button type="submit" class="btn btn-danger">Remove</button>
</form>

View File

@@ -1,11 +1,14 @@
@(user: Option[model.users.User])
<nav class="navbar navbar-expand-lg bg-body-tertiary">
<div class="container d-flex justify-content-center">
<div class="container d-flex justify-content-left">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navBar" aria-controls="navBar" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-center" id="navBar">
<a class="navbar-brand ms-auto" href="@routes.MainMenuController.mainMenu()">KnockOutWhist</a>
<a class="navbar-brand ms-auto" href="@routes.MainMenuController.mainMenu()">
<img src="@routes.Assets.versioned("images/logo.png")" alt="Logo" width="30" height="20" class="d-inline-block align-text-top">
KnockOutWhist
</a>
<div class="navbar-nav me-auto mb-2 mb-lg-0">
<ul class="navbar-nav mb-2 mb-lg-0">
@if(user.isDefined) {