2023-03-08 22:39:15 +01:00
{% extends 'tablepage.html' %}
{% block head %}
{{ super() }}
< title > Multiworld Tracker< / title >
< link rel = "stylesheet" type = "text/css" href = "{{ url_for('static', filename=" styles / tracker . css " ) } } " / >
2023-03-09 19:24:38 +01:00
< script type = "application/ecmascript" src = "{{ url_for('static', filename=" assets / trackerCommon . js " ) } } " > < / script >
2023-03-08 22:39:15 +01:00
{% endblock %}
{% block body %}
{% include 'header/dirtHeader.html' %}
{% include 'multiTrackerNavigation.html' %}
< div id = "tracker-wrapper" data-tracker = "{{ room.tracker|suuid }}" >
< div id = "tracker-header-bar" >
< input placeholder = "Search" id = "search" / >
< span { % if not video % } hidden { % endif % } id = "multi-stream-link" >
< a target = "_blank" href = "https://multistream.me/
{%- for platform, link in video.values()|unique(False, 1)-%}
{%- if platform == "Twitch" -%}t{%- else -%}yt{%- endif -%}:{{- link -}}/
{%- endfor -%}">
Multistream
< / a >
< / span >
< span class = "info" > Clicking on a slot's number will bring up a slot-specific auto-tracker. This tracker will automatically update itself periodically.< / span >
< / div >
< div id = "tables-container" >
{% for team, players in checks_done.items() %}
< div class = "table-wrapper" >
< table id = "checks-table" class = "table non-unique-item-table" >
< thead >
< tr >
< th > #< / th >
< th > Name< / th >
2023-03-12 12:38:13 +01:00
< th > Game< / th >
2023-06-27 23:37:01 +02:00
< th > Status< / th >
2023-03-12 12:38:13 +01:00
{% block custom_table_headers %}
{# implement this block in game-specific multi trackers #}
{% endblock %}
2023-03-08 22:39:15 +01:00
< th class = "center-column" > Checks< / th >
< th class = "center-column" > % < / th >
2023-08-29 14:58:49 -07:00
< th class = "center-column hours last-activity" > Last< br > Activity< / th >
2023-03-08 22:39:15 +01:00
< / tr >
< / thead >
< tbody >
{%- for player, checks in players.items() -%}
< tr >
< td > < a href = "{{ url_for(" get_player_tracker " , tracker = room.tracker,
tracked_team=team, tracked_player=player)}}">{{ loop.index }}< / a > < / td >
< td > {{ player_names[(team, loop.index)]|e }}< / td >
2023-03-12 12:38:13 +01:00
< td > {{ games[player] }}< / td >
2023-06-27 23:37:01 +02:00
< td > {{ {0: "Disconnected", 5: "Connected", 10: "Ready", 20: "Playing",
30: "Goal Completed"}.get(states[team, player], "Unknown State") }}< / td >
2023-03-12 12:38:13 +01:00
{% block custom_table_row scoped %}
{# implement this block in game-specific multi trackers #}
{% endblock %}
2023-06-27 21:40:29 -04:00
< td class = "center-column" data-sort = "{{ checks[" Total " ] } } " >
2023-07-02 13:00:05 +02:00
{{ checks["Total"] }}/{{ locations[player] | length }}
2023-06-27 21:40:29 -04:00
< / td >
2023-10-31 14:20:07 -07:00
< td class = "center-column" > {{ "{0:.2f}".format(percent_total_checks_done[team][player]) }}< / td >
2023-03-21 01:44:45 +01:00
{%- if activity_timers[team, player] -%}
< td class = "center-column" > {{ activity_timers[team, player].total_seconds() }}< / td >
2023-03-08 22:39:15 +01:00
{%- else -%}
< td class = "center-column" > None< / td >
{%- endif -%}
< / tr >
{%- endfor -%}
< / tbody >
2023-08-29 14:58:49 -07:00
{% if not self.custom_table_headers() | trim %}
< tfoot >
< tr >
< td > < / td >
< td > Total< / td >
< td > All Games< / td >
< td > {{ completed_worlds }}/{{ players|length }} Complete< / td >
< td class = "center-column" > {{ players.values()|sum(attribute='Total') }}/{{ total_locations[team] }}< / td >
2023-10-31 14:20:07 -07:00
< td class = "center-column" >
{% if total_locations[team] == 0 %}
100
{% else %}
{{ "{0:.2f}".format(players.values()|sum(attribute='Total') / total_locations[team] * 100) }}
{% endif %}
< / td >
2023-08-29 14:58:49 -07:00
< td class = "center-column last-activity" > < / td >
< / tr >
< / tfoot >
{% endif %}
2023-03-08 22:39:15 +01:00
< / table >
< / div >
{% endfor %}
2023-07-02 13:00:05 +02:00
{% include "hintTable.html" with context %}
2023-03-08 22:39:15 +01:00
< / div >
< / div >
{% endblock %}