Refonte de l'interface : sauvegarde automatique, menu d'état unique et panneau aujourd'hui
- Chaque heure validée enregistre le jour (plus de bouton ✓), avec un témoin
« enregistré » et conservation du focus entre les champs
- Les boutons MA/AM/J/F/AS deviennent un bouton d'état unique à pastilles
ouvrant un menu déroulant (congés, férié, astreinte)
- Panneau Aujourd'hui : sortie cible en grand et progression travaillé/dû
de la semaine, rafraîchis à chaque saisie
- Polish général : coins arrondis, ombres douces, hiérarchie des soldes,
états de focus visibles
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
This commit is contained in:
@ -1,4 +1,37 @@
|
||||
<div id="soldes-section" hx-swap-oob="true">
|
||||
{% if result.today %}
|
||||
{% set jt = result.today.jour %}
|
||||
<div class="today-panel">
|
||||
<div class="today-main">
|
||||
<div class="today-eyebrow">Aujourd'hui · {{ result.today.nom }} {{ jt.date[8:] }}/{{ jt.date[5:7] }}</div>
|
||||
{% if 'jour' in jt.conge %}
|
||||
<div class="today-cible today-neutral">En congé aujourd'hui</div>
|
||||
{% elif jt.cible_aprem %}
|
||||
<div class="today-cible">{{ jt.cible_aprem }}</div>
|
||||
<div class="today-sub">sortie cible pour tenir le rythme · entrée {{ jt.cible_aprem_entree }}</div>
|
||||
{% elif jt.cible_matin %}
|
||||
<div class="today-cible">{{ jt.cible_matin }}</div>
|
||||
<div class="today-sub">sortie cible du matin · entrée {{ jt.cible_matin_entree }}</div>
|
||||
{% elif jt.du_min == 0 %}
|
||||
<div class="today-cible today-neutral">Aucune heure due aujourd'hui</div>
|
||||
{% else %}
|
||||
<div class="today-cible today-neutral">Saisissez vos heures du jour</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if result.today.pct is not none %}
|
||||
<div class="today-prog">
|
||||
<div class="today-prog-head">
|
||||
<span>Semaine · <b>{{ result.today.trav_total }}</b> / {{ result.today.du_total }}</span>
|
||||
<span>Solde <b class="{% if result.solde_min > 0 %}stat-pos{% elif result.solde_min < 0 %}stat-neg{% endif %}">{% if result.solde_min > 0 %}+{% endif %}{{ result.solde }}</b></span>
|
||||
</div>
|
||||
<div class="today-bar">
|
||||
<div class="today-bar-fill{% if result.solde_min < 0 %} short{% elif result.reste_min == 0 %} full-pos{% endif %}" style="width: {{ result.today.pct }}%"></div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="soldes-wrap">
|
||||
<div class="soldes">
|
||||
<div class="solde-item">
|
||||
<div class="solde-eyebrow">Travaillé</div>
|
||||
@ -43,6 +76,7 @@
|
||||
complétez ou corrigez les saisies, ou rattrapez sur une autre semaine.
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if result.astreinte and result.astreinte.actif %}
|
||||
<div class="as-decompte">
|
||||
<div class="as-decompte-title">Astreinte — compteur séparé, hors heures de semaine</div>
|
||||
|
||||
Reference in New Issue
Block a user