{% extends 'wfbo/_layout.html.twig' %} {% block title %}Live Racing Leaderboard — WFBO{% endblock %} {% block wfbo_title %}Live Racing Leaderboard{% endblock %} {% block wfbo_content %} {% set custom = period.period == 'custom' %} {% set baseParams = {bet_type: betType.value, sort: sort} %} {% set rangeParams = custom ? {date_from: period.dateFrom, date_to: period.dateTo} : {period: period.period} %} {# ── Period filter ── #} {% set presets = [ {key: 'today', label: 'Today'}, {key: 'yesterday', label: 'Yesterday'}, {key: 'this_week', label: 'This Week'}, {key: 'last_week', label: 'Last Week'}, {key: 'this_month', label: 'This Month'}, {key: 'last_month', label: 'Last Month'}, ] %}
{# ── Filters ── #}{{ total }} player{{ total != 1 ? 's' : '' }} — {{ betType.label }} — {{ period.label }} — ranked by {{ sortLabels[sort] }}
{# ── Table ── #}| # | Player | Master Agent | Wins | Tickets | Win Rate | Total Bet | Total Winnings | Biggest Win |
|---|---|---|---|---|---|---|---|---|
| {{ rank }} |
{{ row.first_name }} {{ row.last_name }}
{{ row.mobile_number }}
|
{% if row.master_agent_id %} {{ row.master_agent_first_name }} {{ row.master_agent_last_name }} {% else %} — {% endif %} | {{ row.win_count }} | {{ row.ticket_count }} | {{ row.ticket_count > 0 ? (row.win_count / row.ticket_count * 100)|number_format(1) ~ '%' : '—' }} | ₱{{ row.total_bet|number_format(2) }} | ₱{{ row.total_payout|number_format(2) }} | ₱{{ row.biggest_win|number_format(2) }} |
| No {{ betType.label }} {{ sort == 'win_count' ? 'winners' : 'bettors' }} for {{ period.label }}. | ||||||||