@(channel: lila.tv.Tv.Channel, champions: lila.tv.Tv.Champions, pov: Pov, data: play.api.libs.json.JsObject, cross: Option[lila.game.Crosstable.WithMatchup], flip: Boolean, history: List[Pov])(implicit ctx: Context) @title = @{ s"${channel.name} TV: ${playerText(pov.player)} vs ${playerText(pov.opponent)}" } @moreJs = { @roundTag @embedJs { window.customWS = true; window.onload = function() { LichessRound.boot({ data: @safeJson(data), i18n: @round.jsI18n(pov.game) }, document.getElementById('lichess')); }; } } @round.layout( title = title, side = side(channel, champions, "/tv", pov.some), underchat = game.watchers().some, moreJs = moreJs, moreCss = cssTag("tv.css"), chessground = false, openGraph = lila.app.ui.OpenGraph( title = s"Watch the best ${channel.name.toLowerCase} games of lichess.org", description = s"Sit back, relax, and watch the best ${channel.name.toLowerCase} lichess players compete on lichess TV", url = s"$netBaseUrl${routes.Tv.onChannel(channel.key)}" ).some, robots = true) {
@board.domPreload(pov.some)
@cross.map { c =>
@views.html.game.crosstable(ctx.userId.fold(c)(c.fromPov), pov.gameId.some)
}

@trans.previouslyOnLichessTV()

@history.map { p =>
@game.mini(p)
}
}