diff --git a/knockoutwhistweb/app/controllers/JavaScriptRoutingController.scala b/knockoutwhistweb/app/controllers/JavaScriptRoutingController.scala index b2869d6..b625e13 100644 --- a/knockoutwhistweb/app/controllers/JavaScriptRoutingController.scala +++ b/knockoutwhistweb/app/controllers/JavaScriptRoutingController.scala @@ -17,8 +17,9 @@ class JavaScriptRoutingController @Inject()( Ok( JavaScriptReverseRouter("jsRoutes")( routes.javascript.MainMenuController.createGame, - routes.javascript.IngameController.startGame, routes.javascript.MainMenuController.joinGame, + routes.javascript.MainMenuController.navSPA, + routes.javascript.IngameController.startGame, routes.javascript.IngameController.kickPlayer, routes.javascript.IngameController.leaveGame, routes.javascript.IngameController.playCard, diff --git a/knockoutwhistweb/app/controllers/MainMenuController.scala b/knockoutwhistweb/app/controllers/MainMenuController.scala index bf41033..63d03ab 100644 --- a/knockoutwhistweb/app/controllers/MainMenuController.scala +++ b/knockoutwhistweb/app/controllers/MainMenuController.scala @@ -23,7 +23,7 @@ class MainMenuController @Inject()( // Pass the request-handling function directly to authAction (no nested Action) def mainMenu(): Action[AnyContent] = authAction { implicit request: AuthenticatedRequest[AnyContent] => - Ok(views.html.main("KnockOutWhist")(views.html.mainmenu.creategame(Some(request.user)))) + Ok(views.html.main("Knockout Whist - Create Game")(views.html.mainmenu.creategame(Some(request.user)))) } def index(): Action[AnyContent] = authAction { implicit request: AuthenticatedRequest[AnyContent] => @@ -88,6 +88,29 @@ class MainMenuController @Inject()( } def rules(): Action[AnyContent] = authAction { implicit request: AuthenticatedRequest[AnyContent] => - Ok(views.html.mainmenu.rules(Some(request.user))) + Ok(views.html.main("Knockout Whist - Rules")(views.html.mainmenu.rules(Some(request.user)))) } + + def navSPA(location: String) : Action[AnyContent] = authAction { implicit request: AuthenticatedRequest[AnyContent] => + location match { + case "0" => // Main Menu + Ok(Json.obj( + "status" -> "success", + "redirectUrl" -> routes.MainMenuController.mainMenu().url, + "content" -> views.html.mainmenu.creategame(Some(request.user)).toString + )) + case "1" => // Rules + Ok(Json.obj( + "status" -> "success", + "redirectUrl" -> routes.MainMenuController.rules().url, + "content" -> views.html.mainmenu.rules(Some(request.user)).toString + )) + case _ => + BadRequest(Json.obj( + "status" -> "failure", + "errorMessage" -> "Invalid form submission" + )) + } + } + } \ No newline at end of file diff --git a/knockoutwhistweb/app/views/mainmenu/navbar.scala.html b/knockoutwhistweb/app/views/mainmenu/navbar.scala.html index c19cd00..5eb501a 100644 --- a/knockoutwhistweb/app/views/mainmenu/navbar.scala.html +++ b/knockoutwhistweb/app/views/mainmenu/navbar.scala.html @@ -13,14 +13,14 @@