237 lines
15 KiB
Plaintext
237 lines
15 KiB
Plaintext
{% import "includes/macros" as macros %}
|
||
{% extends "base" %}
|
||
{% block content %}
|
||
<div class="max-w-screen-lg w-full">
|
||
<h1 class="h1">Ergo Challenges</h1>
|
||
<div class="grid gap-3">
|
||
<div class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md block shadow mt-5"
|
||
role="alert">
|
||
<h2 class="h2">Ergo Challenge?!</h2>
|
||
<div class="p-3">
|
||
<ul class="list-disc ms-2">
|
||
<li class="py-1">
|
||
<a href="https://rudernlinz.at/termin"
|
||
target="_blank"
|
||
class="link-primary">Überblick der Challenges</a>
|
||
</li>
|
||
<li class="py-1">
|
||
Eintragung ist jederzeit möglich, alle Daten die bis Sonntag 23:59 hier hochgeladen wurden, werden gesammelt an die Ister Ergo Challenge geschickt
|
||
<li class="py-1">
|
||
Montag → gemeinsames Training; bitte um <a href="/planned" class="link-primary">Anmeldung</a>, damit jeder einen Ergo hat
|
||
</li>
|
||
<li class="py-1">
|
||
<a href="https://data.ergochallenge.at"
|
||
target="_blank"
|
||
style="text-decoration: underline">Offizielle Ergebnisse</a>, bei Fehlern direkt mit <a href="mailto:office@ergochallenge.at"
|
||
style="text-decoration: underline">Christian (Ister)</a> Kontakt aufnehmen
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<details class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md p-2">
|
||
<summary class="cursor-pointer">
|
||
<strong>Um was geht es bei den Ergochallenges?</strong>
|
||
</summary>
|
||
<p class="py-2 ">
|
||
Der Linzer Verein Ister veranstaltet seit einigen Jahren zwei Challenges im Winter, ‘Dirty Thirty’ (6x im Winter) und ‘Dirty Dozen’ (12 Wochen lang).
|
||
<ul class="list-decimal ms-4">
|
||
<li class="py-1">
|
||
Bei <strong>Dirty Thirty</strong> geht es darum so viele Kilometer wie möglich in 30 Minuten zu fahren.
|
||
</li>
|
||
<li class="py-1">
|
||
Bei <strong>Dirty Dozen</strong> werden jede Woche neue Ziele ausgeschrieben, gestartet wird mit einem Halbmarathon und es geht runter bis auf 100m.
|
||
</li>
|
||
</ul>
|
||
<p class="py-2">
|
||
Ihr könnt gerne bei allen Challenges mitmachen und es ist möglich jederzeit ein- bzw. auszusteigen. Für alle komplett neuen Teilnehmer würde ich allerdings empfehlen die ersten beiden Dirty Dozen Challenges (Halbmarathon und 16 Kilometer) auszulassen und es am Anfang etwas ruhiger anzugehen. Es steht der Spaß und die Festigung der Technik im Vordergrund, nicht Rekorde.
|
||
</p>
|
||
<strong>Video Tipps 🐞</strong>
|
||
<ul class="list-disc ms-3">
|
||
<li class="py-1">
|
||
<a href="https://www.youtube.com/watch?v=TJsQPV6LNPI"
|
||
target="_blank"
|
||
style="text-decoration: underline">Intro</a>
|
||
</li>
|
||
<li class="py-1">
|
||
<a href="https://www.youtube.com/watch?v=KOacKLOpWkI"
|
||
target="_blank"
|
||
style="text-decoration: underline">Schlagaufbau</a>
|
||
</li>
|
||
<li class="py-1">
|
||
<a href="https://www.youtube.com/watch?v=m6VP11EDjcM"
|
||
target="_blank"
|
||
style="text-decoration: underline">PM5 Monitor</a>
|
||
</li>
|
||
</ul>
|
||
</details>
|
||
<details class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md p-2">
|
||
<summary class="cursor-pointer">
|
||
<strong>Deine Daten</strong>
|
||
</summary>
|
||
<div class="pt-3">
|
||
<p>
|
||
Folgende Daten hat der Ruderassistent von dir. Wenn diese nicht mehr aktuell sind, bitte gewünschte Änderungen an Philipp melden (Tel. nr siehe Signal, oder an <a href="mailto:it@rudernlinz.at"
|
||
class="text-primary-600 dark:text-primary-200 hover:text-primary-950 hover:dark:text-primary-300 underline"
|
||
target="_blank">it@rudernlinz.at</a>).
|
||
<br />
|
||
<br />
|
||
<ul>
|
||
<li>Geburtsdatum: {{ loggedin_user.dob }}</li>
|
||
<li>Gewicht: {{ loggedin_user.weight }} kg</li>
|
||
<li>Geschlecht: {{ loggedin_user.sex }}</li>
|
||
</ul>
|
||
</p>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
<div class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md block shadow grid gap-3">
|
||
<h2 class="h2">
|
||
Neuer Eintrag
|
||
</h1>
|
||
<details class="p-2">
|
||
<summary class="cursor-pointer">Dirty Thirty</summary>
|
||
<div class="mt-3">
|
||
<form action="/ergo/thirty"
|
||
class="grid gap-3"
|
||
method="post"
|
||
enctype="multipart/form-data">
|
||
<div>
|
||
<label for="user-thirty" class="text-sm text-gray-600 dark:text-gray-100">Ergo-Fahrer</label>
|
||
<select name="user" id="user-thirty" class="input rounded-md">
|
||
<option disabled="disabled">User auswählen</option>
|
||
{% for user in users %}
|
||
{% if user.id == loggedin_user.id %}
|
||
<option value="{{ user.id }}" selected="selected">{{ user.name }}</option>
|
||
{% else %}
|
||
<option value="{{ user.id }}">{{ user.name }}</option>
|
||
{% endif %}
|
||
{% endfor %}
|
||
</select>
|
||
</div>
|
||
{{ macros::input(label="Distanz [m]", name="result", required=true, type="number", class="input rounded-md") }}
|
||
<div>
|
||
<label for="file-thirty" class="text-sm text-gray-600 dark:text-gray-100">Ergebnis-Foto vom Ergo-Display</label>
|
||
<input type="file"
|
||
id="file-thirty"
|
||
name="proof"
|
||
class="input rounded-md"
|
||
accept="image/*">
|
||
</div>
|
||
<div class="text-end">
|
||
<input type="submit" value="Speichern" class="btn btn-primary btn-fw m-auto" />
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</details>
|
||
<details class="p-2">
|
||
<summary class="cursor-pointer">Dirty Dozen</summary>
|
||
<div class="mt-3">
|
||
<form action="/ergo/dozen"
|
||
class="grid gap-3"
|
||
method="post"
|
||
enctype="multipart/form-data">
|
||
<div>
|
||
<label for="user-dozen" class="text-sm text-gray-600 dark:text-gray-100">Ergo-Fahrer</label>
|
||
<select name="user" id="user-dozen" class="input rounded-md">
|
||
<option disabled="disabled">User auswählen</option>
|
||
{% for user in users %}
|
||
{% if user.id == loggedin_user.id %}
|
||
<option value="{{ user.id }}" selected="selected">{{ user.name }}</option>
|
||
{% else %}
|
||
<option value="{{ user.id }}">{{ user.name }}</option>
|
||
{% endif %}
|
||
{% endfor %}
|
||
</select>
|
||
</div>
|
||
{{ macros::input(label="Zeit [hh:mm:ss.s] oder Distanz [m]", name="result", required=true, type="text", class="input rounded-md", pattern="(?:\d+:\d{2}:\d{2}\.\d+|\d{1,2}:\d{2}\.\d+|\d+(\.\d+)?)") }}
|
||
<div>
|
||
<label for="file-dozen" class="text-sm text-gray-600 dark:text-gray-100">Ergebnis-Foto vom Ergo-Display</label>
|
||
<input type="file"
|
||
id="file-dozen"
|
||
name="proof"
|
||
class="input rounded-md"
|
||
accept="image/*">
|
||
</div>
|
||
<div class="text-end">
|
||
<input type="submit" value="Speichern" class="btn btn-primary btn-fw m-auto" />
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
<div class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md block shadow grid gap-3">
|
||
<h2 class="h2">Aktuelle Woche</h2>
|
||
<details class="p-2">
|
||
<summary class="cursor-pointer">
|
||
Dirty Thirty <small class="text-gray-600 dark:text-white">({{ thirty | length }})</small>
|
||
</summary>
|
||
<div class="mt-3">
|
||
<ol>
|
||
{% for stat in thirty %}
|
||
<li>
|
||
<strong>{{ stat.name }}:</strong> {{ stat.result }}
|
||
</li>
|
||
{% endfor %}
|
||
</ol>
|
||
</div>
|
||
</details>
|
||
<details class="p-2">
|
||
<summary class="cursor-pointer">
|
||
Dirty Dozen <small class="text-gray-600 dark:text-white">({{ dozen | length }})</small>
|
||
</summary>
|
||
<div class="mt-3">
|
||
<ol>
|
||
{% for stat in dozen %}
|
||
<li>
|
||
<strong>{{ stat.name }}:</strong> {{ stat.result }}
|
||
</li>
|
||
{% endfor %}
|
||
</ol>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
{% if "admin" in loggedin_user.roles %}
|
||
<div class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md block shadow grid gap-3">
|
||
<h2 class="h2">Update</h2>
|
||
<details class="p-2">
|
||
<summary class="cursor-pointer">
|
||
Dirty Thirty <small class="text-gray-600 dark:text-white">({{ thirty | length }})</small>
|
||
</summary>
|
||
<div class="mt-3">
|
||
<ol>
|
||
{% for stat in thirty %}
|
||
<li>
|
||
<form action="/ergo/thirty/user/{{ stat.id }}/new" method="get">
|
||
{{ stat.name }}:
|
||
<input type="text" value="{{ stat.result }}" name="new" style="color: black" />
|
||
<input type="submit" />
|
||
</form>
|
||
</li>
|
||
{% endfor %}
|
||
</ol>
|
||
</div>
|
||
</details>
|
||
<details class="p-2">
|
||
<summary class="cursor-pointer">
|
||
Dirty Dozen <small class="text-gray-600 dark:text-white">({{ dozen | length }})</small>
|
||
</summary>
|
||
<div class="mt-3">
|
||
<ol>
|
||
{% for stat in dozen %}
|
||
<li>
|
||
<form action="/ergo/dozen/user/{{ stat.id }}/new" method="get">
|
||
{{ stat.name }}:
|
||
<input type="text" value="{{ stat.result }}" name="new" style="color: black" />
|
||
<input type="submit" />
|
||
</form>
|
||
</li>
|
||
{% endfor %}
|
||
</ol>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
</div>
|
||
{% endif %}
|
||
</div>
|
||
</div>
|
||
{% endblock content %}
|