80 lines
2.4 KiB
HTML
80 lines
2.4 KiB
HTML
@(scheduled: List[Tournament], finished: Paginator[Tournament], winners: lila.tournament.AllWinners, json: play.api.libs.json.JsObject)(implicit ctx: Context)
|
|
|
|
@moreJs = {
|
|
@jsTag("vendor/jquery.infinitescroll.min.js")
|
|
@jsAt(s"compiled/lichess.tournament-schedule${isProd??(".min")}.js")
|
|
@jsAt("javascripts/vendor/dragscroll.js")
|
|
@embedJs {
|
|
var app = LichessTournamentSchedule.app(document.getElementById('tournament_schedule'), {
|
|
data: @Html(J.stringify(json)),
|
|
i18n: @jsI18n()
|
|
});
|
|
lichess.StrongSocket.defaults.params.flag = "tournament";
|
|
lichess.StrongSocket.defaults.events.reload = app.update;
|
|
}
|
|
}
|
|
|
|
@side = {
|
|
<div class="tournament_home_side">
|
|
<div class="tournament_links">
|
|
<a href="@routes.Tournament.help("arena".some)">@trans.tournamentFAQ()</a>
|
|
</div>
|
|
<h2 class="leaderboard_title">
|
|
<a href="@routes.Tournament.leaderboard">@trans.leaderboard()</a>
|
|
</h2>
|
|
<ul class="tournament_leaderboard">
|
|
@winners.top.map { w =>
|
|
<li>
|
|
@userIdLink(w.userId.some)
|
|
<a title="@w.tourName" href="@routes.Tournament.show(w.tourId)">@scheduledTournamentNameShortHtml(w.tourName)</a>
|
|
</li>
|
|
}
|
|
</ul>
|
|
<h2 class="leaderboard_title">@trans.lichessTournaments()</h2>
|
|
<ol class="scheduled_tournaments">
|
|
@scheduled.map { tour =>
|
|
@tour.schedule.map { s =>
|
|
@if(s.freq != lila.tournament.Schedule.Freq.Hourly) {
|
|
<li data-icon="@tournamentIconChar(tour)" class="is-gold @s.freq.name">
|
|
<a href="@routes.Tournament.show(tour.id)">@tour.name</a>
|
|
@momentFromNow(s.at)
|
|
</li>
|
|
}
|
|
}
|
|
}
|
|
</ol>
|
|
</div>
|
|
}
|
|
|
|
@tournament.layout(
|
|
title = trans.tournaments.txt(),
|
|
moreJs = moreJs,
|
|
side = side.some,
|
|
openGraph = lila.app.ui.OpenGraph(
|
|
url = s"$netBaseUrl${routes.Tournament.home().url}",
|
|
title = s"${trans.tournamentHomeTitle()}",
|
|
description = s"${trans.tournamentHomeDescription()}").some) {
|
|
<div class="content_box tournament_box no_padding">
|
|
@if(ctx.isAuth) {
|
|
<div class="create_tournament">
|
|
<a href="@routes.Tournament.form()" class="action button text">@trans.createANewTournament()</a>
|
|
</div>
|
|
}
|
|
<h1>@trans.tournaments()</h1>
|
|
<div id="tournament_schedule"></div>
|
|
<div id="tournament_list">
|
|
<table class="slist finished">
|
|
<thead>
|
|
<tr>
|
|
<th colspan=2 class="large">@trans.finished()</th>
|
|
<th>@trans.duration()</th>
|
|
<th>@trans.winner()</th>
|
|
<th>@trans.players()</th>
|
|
</tr>
|
|
</thead>
|
|
@finishedPaginator(finished)
|
|
</table>
|
|
</div>
|
|
</div>
|
|
}
|