@(pov: Pov, data: play.api.libs.json.JsObject, initialFen: Option[String], pgn: String, analysis: Option[lila.analyse.Analysis], analysisInProgress: Option[lila.fishnet.Work.InProgress], simul: Option[lila.simul.Simul], cross: Option[lila.game.Crosstable.WithMatchup], userTv: Option[User], chatOption: Option[lila.chat.UserChat.Mine], bookmarked: Boolean)(implicit ctx: Context) @import pov._ @title = @{ s"${playerText(pov.game.whitePlayer)} vs ${playerText(pov.game.blackPlayer)} in $gameId : ${game.opening.fold(trans.analysis.txt())(_.opening.ecoName)}" } @moreCss = { @cssTag("analyse.css") @cssTag("chat.css") } @moreJs = { @jsAt(s"compiled/lichess.analyse${isProd??(".min")}.js") @embedJs { lichess = lichess || {}; lichess.analyse = { data: @safeJson(data), i18n: @jsI18n(), userId: @jsUserId, chat: @jsOrNull(chatOption map { c => chat.ChatJsData.json(c.chat, name = trans.spectatorRoom.txt(), timeout = c.timeout, withNote = ctx.isAuth, public = true) }), explorer: { endpoint: "@explorerEndpoint", tablebaseEndpoint: "@tablebaseEndpoint" } }; } } @atom = { } @underchat = { @views.html.game.watchers() @round.blurs(game) @round.holdAlerts(game) } @analyse.layout( title = title, side = views.html.game.side(pov, initialFen, none, simul = simul, userTv = userTv, bookmarked = bookmarked).some, chat = chat.dom().some, underchat = underchat.some, moreCss = moreCss, moreJs = moreJs, openGraph = povOpenGraph(pov).some, chessground = false, atom = atom.some) {