126 lines
4.9 KiB
Plaintext
126 lines
4.9 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>
|
|
|
|
{% if flash %}
|
|
{{ macros::alert(message=flash.1, type=flash.0, class="my-3") }}
|
|
{% endif %}
|
|
|
|
|
|
<div class="grid gap-3">
|
|
<details class="bg-white rounded-md p-2 mt-5 shadow">
|
|
<summary class="cursor-pointer">Deine Daten</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 hover:text-primary-950 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 class="bg-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">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="text", class="input rounded-md") }}
|
|
|
|
<div>
|
|
<label for="file-thirty" class="text-sm text-gray-600">Ergebnis-Foto vom Ergo-Display</label>
|
|
<input type="file" id="file-thirty" name="proof" class="input rounded-md" accept="image/*" capture="camera">
|
|
</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">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]/Distanz [m]", name="result", required=true, type="text", class="input rounded-md") }}
|
|
|
|
<div>
|
|
<label for="file-dozen" class="text-sm text-gray-600">Ergebnis-Foto vom Ergo-Display</label>
|
|
<input type="file" id="file-dozen" name="proof" class="input rounded-md" accept="image/*" capture="camera">
|
|
</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 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">({{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">({{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>
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock content%}
|