Add WebUI and ingame route, update Configuration and DefaultConfiguration for UI integration

This commit is contained in:
2025-10-10 13:31:50 +02:00
parent d822d11acc
commit 30fb50c3b8
7 changed files with 33 additions and 28 deletions

View File

@@ -0,0 +1,9 @@
package components
import de.knockoutwhist.components.DefaultConfiguration
class WebApplicationConfiguration extends DefaultConfiguration {
}

View File

@@ -21,14 +21,21 @@ class HomeController @Inject()(val controllerComponents: ControllerComponents) e
* will be called when the application receives a `GET` request with
* a path of `/`.
*/
def index() = {
def index(): Action[AnyContent] = {
if (!initial) {
initial = true
KnockOutWhist.main(new Array[String](_length = 0))
}
Action { implicit request: Request[AnyContent] => {
Ok(views.html.main.render("KnockoutWhist", views.html.index.apply()))
Ok(views.html.main.apply("KnockoutWhist")(views.html.))
}
}
}
def ingame(): Action[AnyContent] = {
Action { implicit request: Request[AnyContent] => {
Ok(views.html.tui.apply())
}
}
}

View File

@@ -0,0 +1,12 @@
package controllers
import de.knockoutwhist.ui.UI
object WebUI extends UI {
override def initial: Boolean = true
}

View File

@@ -1,4 +1,4 @@
@()
@(output: String)
@main("Welcome to Play") {
<h1>Welcome to Play!</h1>

View File

@@ -1,25 +0,0 @@
@*
* This template is called from the `index` template. This template
* handles the rendering of the page header and body tags. It takes
* two arguments, a `String` for the title of the page and an `Html`
* object to insert into the body of the page.
*@
@(title: String)(content: Html)
<!DOCTYPE html>
<html lang="en">
<head>
@* Here's where we render the page title `String`. *@
<title>@title</title>
<link rel="stylesheet" media="screen" href="@routes.Assets.versioned("stylesheets/main.css")">
<link rel="shortcut icon" type="image/png" href="@routes.Assets.versioned("images/favicon.png")">
</head>
<body>
@* And here's where we render the `Html` object containing
* the page content. *@
@content
<script src="@routes.Assets.versioned("javascripts/main.js")" type="text/javascript"></script>
</body>
</html>

View File

@@ -0,0 +1 @@
@()