92 lines
6.3 KiB
HTML
92 lines
6.3 KiB
HTML
<tr>
|
|
<td class="p-0 sm:p-4 text-sm font-semibold text-gray-900 break-normal">
|
|
{% if is_edit|default(false, true) == false %}
|
|
<span class="cursor-pointer" hx-get="{{ url_for('goto_tag') }}"
|
|
hx-vals='{"filter": "?exercise_id={{ exercise_id }}", "person_id" : "{{ person_id }}" }'
|
|
hx-target="#container" hx-swap="innerHTML" hx-push-url="true"
|
|
_='on click trigger closeModalWithoutRefresh'>{{ exercise_name
|
|
}}</span>
|
|
{% else %}
|
|
<div class="w-full">
|
|
<select id="topset-exercise-select-{{ topset_id }}" data-te-select-init data-te-select-filter="true"
|
|
data-te-select-size="lg" name="exercise_id"
|
|
class="block appearance-none w-full bg-gray-200 border border-gray-200 text-gray-700 py-3 px-4 pr-8 rounded leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
|
{% for exercise in exercises|default([], true) %}
|
|
<option value="{{ exercise['ExerciseId'] }}">{{
|
|
exercise['Name']
|
|
}}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
<script>
|
|
window.addEventListener('DOMContentLoaded', _ => te.Select.getOrCreateInstance(document.querySelector("#topset-exercise-select-{{ topset_id }}")).setValue("{{ exercise_id }}"));
|
|
</script>
|
|
{% endif %}
|
|
</td>
|
|
<td class="p-4 whitespace-nowrap text-sm font-semibold text-gray-900">
|
|
{% if is_edit|default(false, true) == false %}
|
|
{{ repetitions }} x {{ weight }}kg
|
|
{% else %}
|
|
<div class="flex items-center flex-col sm:flex-row">
|
|
<input type="number"
|
|
class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full pl-4 sm:pl-10 p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
|
|
name="repetitions" value="{{ repetitions }}">
|
|
<p class="px-2">x</p>
|
|
<input type="number"
|
|
class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full pl-4 sm:pl-10 p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
|
|
name="weight" value="{{ weight }}">
|
|
<p class="px-2">kg</p>
|
|
</div>
|
|
{% endif %}
|
|
</td>
|
|
<td class="whitespace-nowrap text-sm font-semibold text-gray-900 flex flex-col sm:flex-row table-cell">
|
|
<div class="flex flex-col sm:flex-row items-center h-full">
|
|
{% if is_edit|default(false, true) == false %}
|
|
<button
|
|
class="inline-flex justify-center p-2 text-blue-600 rounded-full cursor-pointer hover:bg-blue-100 dark:text-blue-500 dark:hover:bg-gray-600"
|
|
hx-get="{{ url_for('get_topset_edit_form', person_id=person_id, workout_id=workout_id, topset_id=topset_id) }}">
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
|
|
stroke="currentColor" class="w-5 h-5">
|
|
<path stroke-linecap="round" stroke-linejoin="round"
|
|
d="M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10" />
|
|
</svg>
|
|
<span class="sr-only">Edit</span>
|
|
</button>
|
|
<button
|
|
class="inline-flex justify-center p-2 text-blue-600 rounded-full cursor-pointer hover:bg-blue-100 dark:text-blue-500 dark:hover:bg-gray-600"
|
|
hx-delete="{{ url_for('delete_topset', person_id=person_id, workout_id=workout_id, topset_id=topset_id) }}"
|
|
hx-confirm="Are you sure you wish to delete this topset?">
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
|
|
stroke="currentColor" class="w-5 h-5">
|
|
<path stroke-linecap="round" stroke-linejoin="round"
|
|
d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" />
|
|
</svg>
|
|
|
|
<span class="sr-only">Delete</span>
|
|
</button>
|
|
{% else %}
|
|
<button
|
|
class="inline-flex justify-center p-2 text-blue-600 rounded-full cursor-pointer hover:bg-blue-100 dark:text-blue-500 dark:hover:bg-gray-600"
|
|
hx-put="{{ url_for('update_topset', person_id=person_id, workout_id=workout_id, topset_id=topset_id) }}"
|
|
hx-include="[name='exercise_id'], [name='repetitions'], [name='weight']">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
|
|
stroke="currentColor" class="w-5 h-5">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5" />
|
|
</svg>
|
|
<span class="sr-only">Save</span>
|
|
</button>
|
|
|
|
<button
|
|
class="inline-flex justify-center p-2 text-blue-600 rounded-full cursor-pointer hover:bg-blue-100 dark:text-blue-500 dark:hover:bg-gray-600"
|
|
hx-get="{{ url_for('get_topset', person_id=person_id, workout_id=workout_id, topset_id=topset_id) }}">
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
|
|
stroke="currentColor" class="w-5 h-5">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
|
|
</svg>
|
|
<span class="sr-only">Cancel</span>
|
|
</button>
|
|
{% endif %}
|
|
</div>
|
|
</td>
|
|
</tr> |