Various frontend improvements
All checks were successful
Build Formula10 Docker Image / build-docker (push) Successful in 16s
All checks were successful
Build Formula10 Docker Image / build-docker (push) Successful in 16s
This commit is contained in:
@ -41,7 +41,7 @@
|
||||
<option value="{{ driver.name }}">{{ driver.abbr }}</option>
|
||||
{% endif %}
|
||||
|
||||
{% if (include_none == true) and (driver.abbr == "NON") %}
|
||||
{% if (include_none == true) and (driver.abbr == "None") %}
|
||||
<option disabled>──────────</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
@ -102,34 +102,34 @@
|
||||
|
||||
{#@formatter:off#}
|
||||
{% macro pxx_guess_colorization(driver_abbr='', result=none) -%}
|
||||
{% if (driver_abbr == result.pxx(-3).abbr) and (driver_abbr != "NON") %}fw-bold
|
||||
{% elif (driver_abbr == result.pxx(-2).abbr) and (driver_abbr != "NON") %}text-danger fw-bold
|
||||
{% elif (driver_abbr == result.pxx(-1).abbr) and (driver_abbr != "NON") %}text-warning fw-bold
|
||||
{% elif (driver_abbr == result.pxx(0).abbr) %}text-success fw-bold
|
||||
{% elif (driver_abbr == result.pxx(1).abbr) and (driver_abbr != "NON") %}text-warning fw-bold
|
||||
{% elif (driver_abbr == result.pxx(2).abbr) and (driver_abbr != "NON") %}text-danger fw-bold
|
||||
{% elif (driver_abbr == result.pxx(3).abbr) and (driver_abbr != "NON") %}fw-bold{% endif %}
|
||||
{% if (driver_abbr == result.pxx_driver(-3).abbr) and (driver_abbr != "None") %}fw-bold
|
||||
{% elif (driver_abbr == result.pxx_driver(-2).abbr) and (driver_abbr != "None") %}text-danger fw-bold
|
||||
{% elif (driver_abbr == result.pxx_driver(-1).abbr) and (driver_abbr != "None") %}text-warning fw-bold
|
||||
{% elif (driver_abbr == result.pxx_driver(0).abbr) %}text-success fw-bold
|
||||
{% elif (driver_abbr == result.pxx_driver(1).abbr) and (driver_abbr != "None") %}text-warning fw-bold
|
||||
{% elif (driver_abbr == result.pxx_driver(2).abbr) and (driver_abbr != "None") %}text-danger fw-bold
|
||||
{% elif (driver_abbr == result.pxx_driver(3).abbr) and (driver_abbr != "None") %}fw-bold{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro pxx_points_tooltip_text(driver_abbr='', result=none) -%}
|
||||
{% if (driver_abbr == result.pxx(-3).abbr) and (driver_abbr != "NON") %}1 Point
|
||||
{% elif (driver_abbr == result.pxx(-2).abbr) and (driver_abbr != "NON") %}3 Points
|
||||
{% elif (driver_abbr == result.pxx(-1).abbr) and (driver_abbr != "NON") %}6 Points
|
||||
{% elif (driver_abbr == result.pxx(0).abbr) %}10 Points
|
||||
{% elif (driver_abbr == result.pxx(1).abbr) and (driver_abbr != "NON") %}6 Points
|
||||
{% elif (driver_abbr == result.pxx(2).abbr) and (driver_abbr != "NON") %}3 Points
|
||||
{% elif (driver_abbr == result.pxx(3).abbr) and (driver_abbr != "NON") %}1 Point
|
||||
{% if (driver_abbr == result.pxx_driver(-3).abbr) and (driver_abbr != "None") %}1 Point
|
||||
{% elif (driver_abbr == result.pxx_driver(-2).abbr) and (driver_abbr != "None") %}3 Points
|
||||
{% elif (driver_abbr == result.pxx_driver(-1).abbr) and (driver_abbr != "None") %}6 Points
|
||||
{% elif (driver_abbr == result.pxx_driver(0).abbr) %}10 Points
|
||||
{% elif (driver_abbr == result.pxx_driver(1).abbr) and (driver_abbr != "None") %}6 Points
|
||||
{% elif (driver_abbr == result.pxx_driver(2).abbr) and (driver_abbr != "None") %}3 Points
|
||||
{% elif (driver_abbr == result.pxx_driver(3).abbr) and (driver_abbr != "None") %}1 Point
|
||||
{% else %}0 Points{% endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
{% macro pxx_standing_tooltip_text(result=none) -%}
|
||||
P{{ result.race.pxx - 3 }}: {{ result.pxx(-3).abbr }}
|
||||
P{{ result.race.pxx - 2 }}: {{ result.pxx(-2).abbr }}
|
||||
P{{ result.race.pxx - 1 }}: {{ result.pxx(-1).abbr }}
|
||||
P{{ result.race.pxx }}: {{ result.pxx(0).abbr }}
|
||||
P{{ result.race.pxx + 1 }}: {{ result.pxx(1).abbr }}
|
||||
P{{ result.race.pxx + 2 }}: {{ result.pxx(2).abbr }}
|
||||
P{{ result.race.pxx + 3 }}: {{ result.pxx(3).abbr }}
|
||||
P{{ result.race.pxx - 3 }}: {{ result.pxx_driver(-3).abbr }}
|
||||
P{{ result.race.pxx - 2 }}: {{ result.pxx_driver(-2).abbr }}
|
||||
P{{ result.race.pxx - 1 }}: {{ result.pxx_driver(-1).abbr }}
|
||||
P{{ result.race.pxx }}: {{ result.pxx_driver(0).abbr }}
|
||||
P{{ result.race.pxx + 1 }}: {{ result.pxx_driver(1).abbr }}
|
||||
P{{ result.race.pxx + 2 }}: {{ result.pxx_driver(2).abbr }}
|
||||
P{{ result.race.pxx + 3 }}: {{ result.pxx_driver(3).abbr }}
|
||||
{% endmacro %}
|
||||
{#@formatter:on#}
|
||||
|
||||
|
||||
@ -82,28 +82,37 @@
|
||||
{{ driver.name }}
|
||||
|
||||
<div class="d-inline-block float-end">
|
||||
{# Driver DNFed #}
|
||||
{# Driver DNFed at first #}
|
||||
<div class="form-check form-check-reverse d-inline-block">
|
||||
<input type="checkbox" class="form-check-input" value="{{ driver.name }}"
|
||||
id="first-dnf-{{ driver.name }}" name="first-dnf-drivers"
|
||||
{% if (active_result is not none) and (driver in active_result.first_dnf_drivers) %}checked{% endif %}>
|
||||
<label for="first-dnf-{{ driver.name }}"
|
||||
class="form-check-label text-muted">1. DNF</label>
|
||||
</div>
|
||||
|
||||
{# Driver DNFed #}
|
||||
<div class="form-check form-check-reverse d-inline-block mx-2">
|
||||
<input type="checkbox" class="form-check-input" value="{{ driver.name }}"
|
||||
id="dnf-{{ driver.name }}" name="dnf-drivers"
|
||||
{% if (active_result is not none) and (driver in active_result.dnf_drivers.values()) %}checked{% endif %}>
|
||||
{% if (active_result is not none) and (driver in active_result.dnf_drivers) %}checked{% endif %}>
|
||||
<label for="dnf-{{ driver.name }}"
|
||||
class="form-check-label text-muted">DNF</label>
|
||||
</div>
|
||||
|
||||
{# Driver Excluded #}
|
||||
<div class="form-check form-check-reverse d-inline-block mx-2">
|
||||
<div class="form-check form-check-reverse d-inline-block">
|
||||
<input type="checkbox" class="form-check-input" value="{{ driver.name }}"
|
||||
id="exclude-{{ driver.name }}" name="exclude-drivers"
|
||||
{% if (active_result is not none) and (driver in active_result.excluded_drivers.values()) %}checked{% endif %}>
|
||||
id="exclude-{{ driver.name }}" name="excluded-drivers"
|
||||
{% if (active_result is not none) and (driver in active_result.excluded_drivers) %}checked{% endif %}>
|
||||
<label for="exclude-{{ driver.name }}"
|
||||
class="form-check-label text-muted" data-bs-toggle="tooltip"
|
||||
title="Exclude driver from points calculation">Exclude</label>
|
||||
title="Driver is not counted for standing">NC</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# Standing order #}
|
||||
<input type="hidden" name="pxxdrivers" value="{{ driver.name }}"></li>
|
||||
<input type="hidden" name="pxx-drivers" value="{{ driver.name }}"></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
|
||||
@ -70,8 +70,7 @@
|
||||
|
||||
<tr class="table-danger">
|
||||
<td class="text-nowrap">
|
||||
<span class="fw-bold">{{ current_race.number }}:</span> <a href="/result"
|
||||
class="link-dark">{{ current_race.name }}</a><br>
|
||||
<span class="fw-bold">{{ current_race.number }}:</span> {{ current_race.name }}<br>
|
||||
<small><span class="fw-bold">Guess:</span> P{{ current_race.pxx }}</small>
|
||||
</td>
|
||||
|
||||
@ -82,10 +81,10 @@
|
||||
{% if user_guess is not none %}
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item" style="background-color: inherit;">
|
||||
P{{ current_race.pxx }}: {{ user_guess.pxx.abbr }}
|
||||
{{ user_guess.pxx.abbr }}
|
||||
</li>
|
||||
<li class="list-group-item" style="background-color: inherit;">
|
||||
DNF: {{ user_guess.dnf.abbr }}
|
||||
{{ user_guess.dnf.abbr }}
|
||||
</li>
|
||||
</ul>
|
||||
{% else %}
|
||||
@ -120,6 +119,9 @@
|
||||
|
||||
<input type="submit" class="btn btn-danger mt-2 w-100" value="Save">
|
||||
</form>
|
||||
<form action="/race-guess-delete/{{ current_race.name_sanitized }}/{{ active_user.name_sanitized }}" method="post">
|
||||
<input type="submit" class="btn btn-dark mt-2 w-100" value="Delete">
|
||||
</form>
|
||||
</td>
|
||||
|
||||
<td> </td>
|
||||
@ -130,8 +132,7 @@
|
||||
{% for past_result in model.all_race_results() %}
|
||||
<tr>
|
||||
<td class="text-nowrap">
|
||||
<span class="fw-bold">{{ past_result.race.number }}:</span> <a
|
||||
href="/result/{{ past_result.race.name_sanitized }}" class="link-dark">{{ past_result.race.name }}</a><br>
|
||||
<span class="fw-bold">{{ past_result.race.number }}:</span> {{ past_result.race.name }}<br>
|
||||
<small><span class="fw-bold">Guessed:</span> P{{ past_result.race.pxx }}</small>
|
||||
</td>
|
||||
|
||||
@ -149,12 +150,12 @@
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item {{ pxx_guess_colorization(user_guess.pxx.abbr, past_result) }}">
|
||||
<span data-bs-toggle="tooltip" title="{{ pxx_points_tooltip_text(user_guess.pxx.abbr, past_result) }}">
|
||||
P{{ past_result.race.pxx }}: {{ user_guess.pxx.abbr }}
|
||||
{{ user_guess.pxx.abbr }}{% if user_guess.pxx.abbr != "None" %} ({{ past_result.pxx_driver_position_string(user_guess.pxx.name) }}){% endif %}
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item {% if user_guess.dnf.abbr == past_result.dnf.abbr %}text-success fw-bold{% endif %}">
|
||||
<span data-bs-toggle="tooltip" title="{% if user_guess.dnf.abbr == past_result.dnf.abbr %}10 Points{% else %}0 Points{% endif %}">
|
||||
DNF: {{ user_guess.dnf.abbr }}
|
||||
<li class="list-group-item {% if user_guess.dnf.name in past_result.first_dnf_driver_names %}text-success fw-bold{% endif %}">
|
||||
<span data-bs-toggle="tooltip" title="{% if user_guess.dnf.name in past_result.first_dnf_driver_names %}10 Points{% else %}0 Points{% endif %}">
|
||||
{{ user_guess.dnf.abbr }}
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
@ -168,11 +169,11 @@
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item">
|
||||
<span data-bs-toggle="tooltip" title="{{ pxx_standing_tooltip_text(past_result) }}">
|
||||
P{{ past_result.race.pxx }}: {{ past_result.pxx().abbr }}
|
||||
P{{ past_result.race.pxx }}: {{ past_result.pxx_driver().abbr }}
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item {% if past_result.dnf.abbr == 'NON' %}text-muted{% endif %}">
|
||||
DNF: {{ past_result.dnf.abbr }}</li>
|
||||
<li class="list-group-item">
|
||||
DNF: {% for dnf_driver in past_result.first_dnf_drivers %}{{ dnf_driver.abbr }} {% endfor %}</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -82,7 +82,7 @@
|
||||
</div>
|
||||
|
||||
{# Most Gained + Lost #}
|
||||
<div class="input-group mt-2">
|
||||
<div class="input-group mt-2" data-bs-toggle="tooltip" title="Which driver will gain/lose the most places in comparison to last season's results?">
|
||||
{{ driver_select_with_preselect(user_guess.gained_driver.abbr if user_guess is not none else "",
|
||||
"gainedselect", "Most WDC places gained:", false) }}
|
||||
{{ driver_select_with_preselect(user_guess.lost_driver.abbr if user_guess is not none else "",
|
||||
|
||||
Reference in New Issue
Block a user