lila/app/views/racer.scala

90 lines
2.4 KiB
Scala
Raw Normal View History

2021-03-03 12:11:22 -07:00
package views.html
import controllers.routes
import play.api.libs.json._
import lila.api.Context
import lila.app.templating.Environment._
import lila.app.ui.ScalatagsTemplate._
2021-03-04 04:41:21 -07:00
import lila.common.String.html.safeJsonValue
import lila.i18n.I18nKeys.{ storm => s }
2021-03-03 12:11:22 -07:00
import lila.racer.RacerRace
object racer {
def home(implicit ctx: Context) =
views.html.base.layout(
2021-03-14 05:11:43 -06:00
moreCss = cssTag("racer-home"),
2021-03-03 12:11:22 -07:00
title = "Puzzle Racer"
) {
2021-03-14 05:11:43 -06:00
main(cls := "page page-small racer-home box box-pad")(
2021-03-18 11:03:32 -06:00
h1("Puzzle Racer"),
div(cls := "racer-home__buttons")(
2021-03-14 05:11:43 -06:00
postForm(cls := "racer-home__lobby", action := routes.Racer.lobby)(
submitButton(cls := "button button-fat")(i(cls := "car")(0), s.joinPublicRace())
2021-03-14 05:11:43 -06:00
),
postForm(cls := "racer-home__create", action := routes.Racer.create)(
submitButton(cls := "button button-fat")(i(cls := "car")(0), s.raceYourFriends())
2021-03-14 04:48:38 -06:00
)
),
div(cls := "racer-home__about")(
2021-03-25 01:10:56 -06:00
a(href := routes.Page.loneBookmark("racer"))(trans.aboutX("Puzzle Racer"))
2021-03-03 12:11:22 -07:00
)
)
}
2021-03-04 02:20:02 -07:00
def show(race: RacerRace, data: JsObject, pref: JsObject)(implicit ctx: Context) =
2021-03-03 12:11:22 -07:00
views.html.base.layout(
moreCss = frag(cssTag("racer")),
2021-03-04 04:41:21 -07:00
moreJs = frag(
jsModule("racer"),
embedJsUnsafeLoadThen(
s"""LichessRacer.start(${safeJsonValue(
Json.obj(
"data" -> data,
"pref" -> pref,
"i18n" -> i18nJsObject(i18nKeys)
)
)})"""
)
),
2021-03-03 12:11:22 -07:00
title = "Puzzle Racer",
zoomable = true,
2021-07-19 10:27:37 -06:00
playing = true,
2021-03-03 12:11:22 -07:00
chessground = false
) {
main(
2021-03-04 04:41:21 -07:00
div(cls := "racer racer-app racer--play")(
div(cls := "racer__board main-board"),
div(cls := "racer__side")
)
2021-03-03 12:11:22 -07:00
)
}
2021-03-04 04:41:21 -07:00
private val i18nKeys = {
List(
s.score,
s.combo,
s.youPlayTheWhitePiecesInAllPuzzles,
s.youPlayTheBlackPiecesInAllPuzzles,
2021-03-19 10:38:46 -06:00
s.getReady,
s.waitingForMorePlayers,
s.raceComplete,
s.spectating,
s.joinTheRace,
s.startTheRace,
2021-03-19 10:38:46 -06:00
s.yourRankX,
s.waitForRematch,
s.nextRace,
s.joinRematch,
s.waitingToStart,
s.createNewGame,
trans.toInviteSomeoneToPlayGiveThisUrl,
2021-03-25 01:59:53 -06:00
s.skip,
s.skipHelp,
2021-05-21 02:41:28 -06:00
s.skipExplanation,
trans.flipBoard
2021-03-04 04:41:21 -07:00
).map(_.key)
}
2021-03-03 12:11:22 -07:00
}