<commit_before>@(data: play.api.libs.json.JsObject, userTimeline: Vector[lila.timeline.Entry], forumRecent: List[lila.forum.MiniForumPost], tours: List[Tournament], events: List[lila.event.Event], simuls: List[lila.simul.Simul], featured: Option[Game], leaderboard: List[User.LightPerf], tournamentWinners: List[lila.tournament.Winner], puzzle: Option[lila.puzzle.DailyPuzzle], streams: List[lila.tv.StreamOnAir], lastPost: List[lila.blog.MiniPost], playban: Option[lila.playban.TempBan], currentGame: Option[lila.app.mashup.Preload.CurrentGame], nbRounds: Int)(implicit ctx: Context)

@underchat = {
<div id="featured_game">
  @featured.map { g =>
  @gameFen(Pov.first(g), tv = true)
  @game.vstext(Pov.first(g))(ctx.some)
  }
</div>
}

@side = {
@NotForKids {
<div id="streams_on_air">@tv.streamsOnAir(streams)</div>
}
@events.map { e =>
@event.homepageSpotlight(e)
}
@lila.tournament.Spotlight.select(tours, ctx.me).map { tour =>
@tournament.homepageSpotlight(tour)
}
@simuls.find(_.spotlightable).take(2).map { s =>
@simul.homepageSpotlight(s)
}
@ctx.me.map { u =>
<div id="timeline" data-href="@routes.Timeline.home">
  @timeline.entries(userTimeline)
  <div class="links">
    @if(userTimeline.size >= 8) {
    <a class="more" href="@routes.Timeline.home">@trans.more() »</a>
    }
  </div>
</div>
}
}

@baseline = {
<a id="nb_connected_players" href="@routes.User.list">
  @trans.nbPlayers(Html("<strong>-,---</strong>"))
</a>
<a id="nb_games_in_play" href="@routes.Tv.games">
  @trans.nbGamesInPlay.plural(nbRounds, Html(s"<span>${nbRounds}</span>"))
</a>
@if(ctx.isMobileBrowser) {
@if(lila.common.HTTPRequest.isAndroid(ctx.req)) {
@mobile.googlePlayButton()
} else {
@if(lila.common.HTTPRequest.isIOS(ctx.req)) {
@mobile.appleStoreButton()
}
}
}
}

@moreJs = {
@jsAt(s"compiled/lichess.lobby${isProd??(".min")}.js", async = true)
@embedJs {
window.customWS = true;
lichess_lobby = {
data: @Html(J.stringify(data)),
playban: @playban.fold(Html("null")){ pb =>
@Html(J.stringify(J.obj("minutes" -> pb.mins, "remainingSeconds" -> (pb.remainingSeconds + 3))))
},
currentGame: @currentGame.fold(Html("null")) { cg =>
@Html(J.stringify(cg.json))
},
i18n: @jsI18n()
};
}
}

@base.layout(
title = "",
fullTitle = Some("lichess.org • " + trans.freeOnlineChess.txt()),
baseline = baseline.some,
side = side.some,
moreJs = moreJs,
moreCss = cssTag("home.css"),
underchat = underchat.some,
chessground = false,
openGraph = lila.app.ui.OpenGraph(
image = staticUrl("images/large_tile.png").some,
title = "The best free, adless Chess server",
url = netBaseUrl,
description = trans.siteDescription.txt()
).some,
asyncJs = true) {
<div class="lobby_and_ground@if(playban.isDefined){ playban}@if(currentGame.isDefined){ current_game}">
  @currentGame.map(currentGameInfo(_))
  <div id="hooks_wrap"></div>
  @playban.map(ban => playbanInfo(ban.remainingSeconds))
  @playbanInfo(2000)
  <div id="start_buttons" class="lichess_ground">
    <a class="fat button config_hook hint--bottom@if(playban.isDefined || currentGame.isDefined){ disabled}" href="@routes.Setup.hookForm" onclick="return false">@trans.createAGame()</a>
    <a class="fat button config_friend hint--bottom@if(currentGame.isDefined){ disabled}" href="@routes.Setup.friendForm(none)" onclick="return false">@trans.playWithAFriend()</a>
    <a class="fat button config_ai hint--bottom@if(currentGame.isDefined){ disabled}" href="@routes.Setup.aiForm" onclick="return false">@trans.playWithTheMachine()</a>
  </div>
</div>
@puzzle.map { p =>
<div id="daily_puzzle" title="@trans.clickToSolve()">
  @p.html
  <div class="vstext">
    @trans.puzzleOfTheDay()<br />
    @p.color.fold(trans.whitePlays, trans.blackPlays)()
  </div>
</div>
}<commit_msg>remove playban debug<commit_after>@(data: play.api.libs.json.JsObject, userTimeline: Vector[lila.timeline.Entry], forumRecent: List[lila.forum.MiniForumPost], tours: List[Tournament], events: List[lila.event.Event], simuls: List[lila.simul.Simul], featured: Option[Game], leaderboard: List[User.LightPerf], tournamentWinners: List[lila.tournament.Winner], puzzle: Option[lila.puzzle.DailyPuzzle], streams: List[lila.tv.StreamOnAir], lastPost: List[lila.blog.MiniPost], playban: Option[lila.playban.TempBan], currentGame: Option[lila.app.mashup.Preload.CurrentGame], nbRounds: Int)(implicit ctx: Context)

@underchat = {
<div id="featured_game">
  @featured.map { g =>
  @gameFen(Pov.first(g), tv = true)
  @game.vstext(Pov.first(g))(ctx.some)
  }
</div>
}

@side = {
@NotForKids {
<div id="streams_on_air">@tv.streamsOnAir(streams)</div>
}
@events.map { e =>
@event.homepageSpotlight(e)
}
@lila.tournament.Spotlight.select(tours, ctx.me).map { tour =>
@tournament.homepageSpotlight(tour)
}
@simuls.find(_.spotlightable).take(2).map { s =>
@simul.homepageSpotlight(s)
}
@ctx.me.map { u =>
<div id="timeline" data-href="@routes.Timeline.home">
  @timeline.entries(userTimeline)
  <div class="links">
    @if(userTimeline.size >= 8) {
    <a class="more" href="@routes.Timeline.home">@trans.more() »</a>
    }
  </div>
</div>
}
}

@baseline = {
<a id="nb_connected_players" href="@routes.User.list">
  @trans.nbPlayers(Html("<strong>-,---</strong>"))
</a>
<a id="nb_games_in_play" href="@routes.Tv.games">
  @trans.nbGamesInPlay.plural(nbRounds, Html(s"<span>${nbRounds}</span>"))
</a>
@if(ctx.isMobileBrowser) {
@if(lila.common.HTTPRequest.isAndroid(ctx.req)) {
@mobile.googlePlayButton()
} else {
@if(lila.common.HTTPRequest.isIOS(ctx.req)) {
@mobile.appleStoreButton()
}
}
}
}

@moreJs = {
@jsAt(s"compiled/lichess.lobby${isProd??(".min")}.js", async = true)
@embedJs {
window.customWS = true;
lichess_lobby = {
data: @Html(J.stringify(data)),
playban: @playban.fold(Html("null")){ pb =>
@Html(J.stringify(J.obj("minutes" -> pb.mins, "remainingSeconds" -> (pb.remainingSeconds + 3))))
},
currentGame: @currentGame.fold(Html("null")) { cg =>
@Html(J.stringify(cg.json))
},
i18n: @jsI18n()
};
}
}

@base.layout(
title = "",
fullTitle = Some("lichess.org • " + trans.freeOnlineChess.txt()),
baseline = baseline.some,
side = side.some,
moreJs = moreJs,
moreCss = cssTag("home.css"),
underchat = underchat.some,
chessground = false,
openGraph = lila.app.ui.OpenGraph(
image = staticUrl("images/large_tile.png").some,
title = "The best free, adless Chess server",
url = netBaseUrl,
description = trans.siteDescription.txt()
).some,
asyncJs = true) {
<div class="lobby_and_ground@if(playban.isDefined){ playban}@if(currentGame.isDefined){ current_game}">
  @currentGame.map(currentGameInfo(_))
  <div id="hooks_wrap"></div>
  @playban.map(ban => playbanInfo(ban.remainingSeconds))
  <div id="start_buttons" class="lichess_ground">
    <a class="fat button config_hook hint--bottom@if(playban.isDefined || currentGame.isDefined){ disabled}" href="@routes.Setup.hookForm" onclick="return false">@trans.createAGame()</a>
    <a class="fat button config_friend hint--bottom@if(currentGame.isDefined){ disabled}" href="@routes.Setup.friendForm(none)" onclick="return false">@trans.playWithAFriend()</a>
    <a class="fat button config_ai hint--bottom@if(currentGame.isDefined){ disabled}" href="@routes.Setup.aiForm" onclick="return false">@trans.playWithTheMachine()</a>
  </div>
</div>
@puzzle.map { p =>
<div id="daily_puzzle" title="@trans.clickToSolve()">
  @p.html
  <div class="vstext">
    @trans.puzzleOfTheDay()<br />
    @p.color.fold(trans.whitePlays, trans.blackPlays)()
  </div>
</div>
}
{'fraction_non_alphanumeric': 0.19710497835497837, 'fraction_numerical': 0.002435064935064935, 'mean_word_length': 6.122350674373796, 'pattern_counts': {'":': 0, '<': 73, '<?xml version=': 0, '>': 97, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4868348', 'n_tokens_mistral': 2890, 'n_tokens_neox': 2811, 'n_words': 415}