hanabi-league/templates/stats_table.html

103 lines
3.4 KiB
HTML

{% macro stats_list(stats, show_rating, show_streaks) %}
<!-- Table for statistics of a variant -->
<div class="history-bullets">
<ul class="stat-list">
<li>
<span class="stat-description">Rating:</span>
{% if show_rating %}
{{stats.rating}}
{% else %}
-
{% endif %}
</li>
{% if show_streaks %}
<li>
<span class="stat-description">Maximum Streak:</span>
{{stats.max_streak}}
</li>
{% endif %}
<li>
<span class="stat-description">Total Perfect Scores:</span>
{{stats.games_won}}
</li>
<li>
<span class="stat-description">Total Bottom Deck Risk:</span>
{{stats.total_bdr}}
</li>
<li>
<span class="stat-description">Total Crits Lost:</span>
{{stats.total_crits_lost}}
</li>
<li>
<span class="stat-description">Total Turns Taken:</span>
{{stats.total_moves}}
</li>
</ul>
<ul class="stat-list">
<li>
<span class="stat-description">Total Games Played:</span>
{{stats.games_played}}
</li>
{% if show_streaks %}
<li>
<span class="stat-description">Current Streak:</span>
{{stats.current_streak}}
</li>
{% endif %}
<li>
<span class="stat-description">Winrate:</span>
{{stats.winrate}}%
</li>
<li>
<span class="stat-description">Average Bottom Deck Risk:</span>
{{stats.average_bdr}}
</li>
<li>
<span class="stat-description">Average Crits Lost:</span>
{{stats.average_crits_lost}}
</li>
<li>
<span class="stat-description">Average Turns Taken:</span>
{{stats.average_moves}}
</li>
</ul>
</div>
{% endmacro %}
{% macro games_table_js(data, div_id, show_player_num, show_var_rating, show_user_rating) %}
var table_{{div_id}} = new Tabulator("#table-{{div_id}}", {
maxHeight: 400,
data: {{data}},
layout: "fitDataStretch",
columns: [
{title: "Game", field: "game_id", formatter: "link", formatterParams:{
urlPrefix: "https://hanab.live/replay/",
target:"_blank"
}},
{% if show_player_num %}
{title: "# Players", field: "num_players"},
{% endif %}
{% if show_var_rating %}
{title: "+/-", field: "variant_rating_change"},
{title: "ELO After", field: "variant_rating_after"},
{% endif %}
{% if show_user_rating %}
{title: "+/-", field: "user_rating_change"},
{title: "ELO After", field: "user_rating_after"},
{% endif %}
{title: "Players", field: "users", formatter:function(cell, formatterParams, onRendered) {
let links = cell.getValue().map(player => `<a href="/player/${encodeURIComponent(player)}">${player}</a>`);
return links.join(", ");
}},
{title: "Seed", field: "seed", formatter: "link", formatterParams: {
urlPrefix: "https://hanab.live/seed/",
target:"_blank"
}},
{title: "Score", field: "score"},
{title: "BDR", field: "num_bdrs"},
{title: "Turns", field: "num_turns"},
{title: "Result", field: "game_outcomes"}
],
});
{% endmacro %}