feat: add gender and goalkeeper/field player jersey style customization for members

This commit is contained in:
2026-05-20 19:04:34 +02:00
parent 1af0e177d5
commit 1f803a6ecc
4 changed files with 49 additions and 1 deletions
@@ -124,6 +124,26 @@
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<!-- Sexe -->
<div>
<label for="sexe" class="block text-sm font-medium text-gray-700 mb-1">Sexe</label>
<select id="sexe" th:field="*{sexe}" class="w-full border border-gray-300 rounded-lg px-4 py-2 text-sm focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition-colors">
<option value="MASCULIN">Masculin</option>
<option value="FEMININ">Féminin</option>
</select>
</div>
<!-- Type de Maillot / Poste -->
<div>
<label for="typeMaillot" class="block text-sm font-medium text-gray-700 mb-1">Poste (Type de maillot)</label>
<select id="typeMaillot" th:field="*{typeMaillot}" class="w-full border border-gray-300 rounded-lg px-4 py-2 text-sm focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition-colors">
<option value="JOUEUR">Joueur de champ</option>
<option value="GARDIEN">Gardien de but</option>
</select>
</div>
</div>
<!-- Adresse -->
<div>
<label for="adresse" class="block text-sm font-medium text-gray-700 mb-1">Adresse postale</label>
@@ -231,6 +251,13 @@
th:text="${dot.equipement.obligatoire ? 'Obligatoire' : 'Facultatif'}">Obligatoire</span>
</div>
<div class="text-[10px] text-gray-400 mb-2 truncate" th:title="${dot.equipement.description}" th:text="${dot.equipement.description != null and !dot.equipement.description.isEmpty() ? dot.equipement.description : 'Pas de description'}">Description</div>
<!-- Special dynamic label for Jersey type -->
<div class="mb-2" th:if="${dot.equipement.nom == 'Maillot'}">
<span class="inline-flex items-center px-2 py-0.5 rounded text-[10px] font-semibold bg-blue-50 text-blue-700 border border-blue-100"
th:text="${adherent.sexe == 'FEMININ' ? 'Modèle Femme' : 'Modèle Homme'} + ' - ' + ${adherent.typeMaillot == 'GARDIEN' ? 'Gardien' : 'Joueur'}">
Modèle Homme - Joueur
</span>
</div>
</div>
<!-- Form inputs for bulk updating -->