Compare commits

..

8 Commits

Author SHA1 Message Date
bef96ba7e3 fix(ui): changed backgrounds (#33)
Reviewed-on: #33
2025-10-30 10:47:40 +01:00
c0dadf8927 feat(ui): CSS Animations #18 (#27)
Added css animations on reload

Co-authored-by: LQ63 <lkhermann@web.de>
Reviewed-on: #27
Reviewed-by: Janis <janis-e@gmx.de>
Co-authored-by: lq64 <lq@blackhole.local>
Co-committed-by: lq64 <lq@blackhole.local>
2025-10-30 08:03:00 +01:00
1f377de0f4 feat(ui): implement CSS variables for theme support (#26)
#17

Reviewed-on: #26
Reviewed-by: lq64 <lq@blackhole.local>
Co-authored-by: Janis <janis.e.20@gmx.de>
Co-committed-by: Janis <janis.e.20@gmx.de>
2025-10-29 16:52:32 +01:00
6c31fa0538 fix(ui): added dark mode (#25)
Reviewed-on: #25
Reviewed-by: lq64 <lq@blackhole.local>
Co-authored-by: Janis <janis.e.20@gmx.de>
Co-committed-by: Janis <janis.e.20@gmx.de>
2025-10-29 10:37:17 +01:00
729a4eec6b fix(ui): add light mode styles, update font families and fixed ui (#24)
Reviewed-on: #24
Co-authored-by: Janis <janis.e.20@gmx.de>
Co-committed-by: Janis <janis.e.20@gmx.de>
2025-10-28 19:06:42 +01:00
72fcf783b8 feat(ui): LESS Integration
#15-Create-a-default-theme-with-Less- (#23)
Added LESS and created a light mode

Co-authored-by: LQ63 <lkhermann@web.de>
Reviewed-on: #23
Reviewed-by: Janis <janis-e@gmx.de>
Co-authored-by: lq64 <lq@blackhole.local>
Co-committed-by: lq64 <lq@blackhole.local>
2025-10-28 18:34:29 +01:00
1517d0c006 fix(imports): reorganized import statements for clarity and consistency (#22)
Reviewed-on: #22
Co-authored-by: Janis <janis.e.20@gmx.de>
Co-committed-by: Janis <janis.e.20@gmx.de>
2025-10-26 18:09:36 +01:00
7f765b4514 fix(base): fixed persistence logic (#21)
Reviewed-on: #21
Co-authored-by: Janis <janis.e.20@gmx.de>
Co-committed-by: Janis <janis.e.20@gmx.de>
2025-10-26 18:04:03 +01:00
11 changed files with 58 additions and 19 deletions

View File

@@ -0,0 +1,6 @@
@media (prefers-color-scheme: dark) {
:root {
--background-image: url('/assets/images/background.png');
--color: white;
}
}

View File

@@ -0,0 +1,4 @@
:root {
--background-image: url('/assets/images/img.png');
--color: black;
}

View File

@@ -1,4 +1,12 @@
@import "light-mode.less";
@import "dark-mode.less";
@background-image: var(--background-image);
@color: var(--color);
@keyframes slideIn {
0% { transform: translateX(-100vw); }
100% { transform: translateX(0); }
}
body {
background-image: @background-image;
background-size: 100vw 100vh;
@@ -14,12 +22,20 @@ html, body {
justify-content: flex-start;
align-items: center;
text-align: center;
h1 {
animation: slideIn 0.5s ease-out forwards;
animation-fill-mode: backwards;
}
}
#textanimation {
animation: slideIn 0.5s ease-out forwards;
animation-fill-mode: backwards;
animation-delay: 1s;
}
#sessions a, h1, p {
color: @color;
font-size: 40px;
font-family: Arial;
font-family: Arial, serif;
}
#ingame {
display: flex;
@@ -32,8 +48,21 @@ html, body {
display: flex;
flex-direction: row;
justify-content: center;
height: 20%
height: 20%;
img {
animation: slideIn 0.5s ease-out forwards;
animation-fill-mode: backwards;
&:nth-child(1) { animation-delay: 0.5s; }
&:nth-child(2) { animation-delay: 1s; }
&:nth-child(3) { animation-delay: 1.5s; }
&:nth-child(4) { animation-delay: 2s; }
&:nth-child(5) { animation-delay: 2.5s; }
&:nth-child(6) { animation-delay: 3s; }
&:nth-child(7) { animation-delay: 3.5s; }
}
}
#cardsplayed {
display: flex;
flex-direction: row;
@@ -82,10 +111,10 @@ html, body {
display: flex;
flex-direction: column;
align-items: center;
height: 0%;
height: 0;
p {
margin-top: 0px;
margin-bottom: 0px;
margin-top: 0;
margin-bottom: 0;
}
}
#invisible {
@@ -98,7 +127,7 @@ html, body {
height: 100%;
}
#rules {
color: white;
color: @color;
font-size: 1.5em;
font-family: Arial;
font-family: Arial, serif;
}

View File

@@ -1,7 +1,7 @@
package components
import de.knockoutwhist.components.DefaultConfiguration
import controllers.WebUI
import de.knockoutwhist.components.DefaultConfiguration
import de.knockoutwhist.ui.UI
import de.knockoutwhist.utils.events.EventListener

View File

@@ -1,14 +1,14 @@
package controllers
import controllers.sessions.AdvancedSession
import com.google.inject.{Guice, Injector}
import controllers.sessions.AdvancedSession
import de.knockoutwhist.KnockOutWhist
import de.knockoutwhist.components.Configuration
import de.knockoutwhist.control.GameState.{InGame, Lobby, SelectTrump, TieBreak}
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
import di.KnockOutWebConfigurationModule
import play.api.{controllers, *}
import play.api.mvc.*
import play.api.*
import play.twirl.api.Html
import java.util.UUID

View File

@@ -1,7 +1,7 @@
package util
import de.knockoutwhist.cards.Card
import de.knockoutwhist.cards.CardValue.{Ace, Eight, Five, Four, Jack, King, Nine, Queen, Seven, Six, Ten, Three, Two}
import de.knockoutwhist.cards.CardValue.*
import de.knockoutwhist.cards.Suit.{Clubs, Diamonds, Hearts, Spades}
import play.twirl.api.Html
import scalafx.scene.image.Image

View File

@@ -3,9 +3,9 @@
@main("Sessions") {
<div id="sessions">
<h1>Knockout Whist sessions</h1>
<p>Please select your session to jump inside the game!</p>
<p id="textanimation">Please select your session to jump inside the game!</p>
@for(session <- sessions) {
<a href="@routes.HomeController.ingame(session.id.toString)">@session.name</a><br>
<a id="textanimation" href="@routes.HomeController.ingame(session.id.toString)">@session.name</a><br>
}
</div>
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 610 KiB

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 KiB

After

Width:  |  Height:  |  Size: 3.3 MiB

View File

@@ -1,9 +1,9 @@
package controllers
import org.scalatestplus.play._
import org.scalatestplus.play.guice._
import play.api.test._
import play.api.test.Helpers._
import org.scalatestplus.play.*
import org.scalatestplus.play.guice.*
import play.api.test.*
import play.api.test.Helpers.*
/**
* Add your spec here.