Add rules page
All checks were successful
Build Formula10 Docker Image / build-docker (push) Successful in 15s

This commit is contained in:
2024-02-26 19:02:32 +01:00
parent bf9c25e537
commit 3949ad8f04
3 changed files with 107 additions and 3 deletions

View File

@ -11,20 +11,26 @@ db.init_app(app)
# NOTE: These imports are required to register the routes. They need to be imported after "app" is declared
import formula10.controller.race_controller # type: ignore
import formula10.controller.season_controller # type: ignore
import formula10.controller.admin_controller # type: ignore
import formula10.controller.season_controller
import formula10.controller.admin_controller
import formula10.controller.rules_controller
# TODO
# General
# - Show date for race name, also store time in database
# Date stuff:
# - Date lock race guess entering + race result entering + season guess entering (frontend + backend)
# - Show timer until next race?
# - Choose "place to guess" late before the race? Make a page for this?
# - Rules page
# - Store currently active user inside cookie
# - Make user order changeable using drag'n'drop?
# - Show place when entering race result (would require updating the drag'n'drop code...)
# - Show cards of previous race results, like with season guesses?
# - Don't write full 2024 date, just 24 or leave out completely, to make column smaller
# Statistics
# - Rename "Statistics" to "Leaderboard"

View File

@ -0,0 +1,10 @@
from flask import render_template
from formula10 import app
from formula10.frontend.template_model import TemplateModel
@app.route("/rules")
def rules_root() -> str:
model = TemplateModel(active_user_name=None, active_result_race_name=None)
return render_template("rules.jinja", model=model)

View File

@ -0,0 +1,88 @@
{% extends 'base.jinja' %}
{% block title %}Formula 10 - Rules{% endblock title %}
{% set active_page = "/rules" %}
{% block body %}
<div class="card">
<div class="card-body">
<h5 class="card-title">Format</h5>
<p>
Das Tippspiel wird dieses Jahr in zwei Teile aufgespalten: Renntips (für jedes Rennen) und Bonustipps
(für die ganze Saison).
Renntipps müssen bis Rennstart, Bonustipps bis 1. März abgegeben werden.
Tipps können entweder selbst eingetragen werden, oder in die Gruppe geschrieben werden, um gültig zu
sein.
</p>
</div>
</div>
<div class="card mt-2">
<div class="card-body">
<h5 class="card-title">Renntipps</h5>
<p>
Jedes Rennen besteht aus zwei Tipps.
Einem Platzierungstipp (PX-Tipp) und einem Tipp welcher Fahrer als Erstes das Rennen abbricht
(DNF-Tipp).
Anders als beim P10-Tipp letztes Jahr wird dieses Mal jedes Rennen eine andere Platzierung getippt.
Die zu tippende Platzierung wird auf der Tabellen-Übersichtsseite und im Fahrer-Auswahlmenü angezeigt.
</p>
<p>
DNS zählt hierbei nicht als DNF, außerdem besteht die Möglichkeit zu tippen, dass kein Fahrer DNF't oder
das Rennen auf PX beendet.
</p>
</div>
</div>
<div class="card mt-2">
<div class="card-body">
<h5 class="card-title">Punkte</h5>
<p>
Für einen korrekten Tipp werden 10 Punkte vergeben.
Beim PX-Tipp werden 6 Punkte für einen Platz Abweichung, 3 Punkte für zwei plätze Abweichung und 1 Punkt
für 3 Plätze Abweichung vergeben.
</p>
<p>
Beim DNF-Tipp werden keine Abweichungspunkte vergeben, ebensowenig wie bei der Auswahl "Keiner" für den
PX-Tipp.
</p>
</div>
</div>
<div class="card mt-2">
<div class="card-body">
<h5 class="card-title">Bonustipps</h5>
<p>
Zusätzlich gibt es dieses Jahr auch Tipps, die sich auf die ganze Saison beziehen und verschieden
bepunktet werden.
</p>
<ul class="list-group list-group-numbered">
<li class="list-group-item">Welches Team wird P2 in der constructors championship? (10 Punkte für die
richtige Antwort / 0 Punkte für eine falsche Antwort)
</li>
<li class="list-group-item">Welcher Fahrer verbessert am meisten seine Platzierung in der drivers
championship im Vergleich zum Vorjahr? (10/0)
</li>
<li class="list-group-item">Welcher Fahrer verschlechtert am meisten seine Platzierung in der drivers
championship im Vergleich zum Vorjahr? (10/0)
</li>
<li class="list-group-item">Welcher Fahrer hat die meisten DNFs? (10/0)</li>
<li class="list-group-item">Welcher Fahrer hat die meisten Überholungen? (10/0)</li>
<li class="list-group-item">Nenne alle Fahrer, die mindestens einmal auf dem Podium stehen werden.
(3/-2, nicht-gegebene Antworten zählen als falsch)
</li>
<li class="list-group-item">Nenne für alle Teams den Sieger des teaminternen Duells. (3/-3)</li>
<li class="list-group-item">Nenne einen hot-take für die Saison (10/0, "hotness" wird vorher abgesegnet)</li>
</ul>
</div>
</div>
{% endblock body %}