Au lieu de reporter tout le manque horaire sur la sortie du jour courant, le calcul distribue désormais le retard à parts égales sur chaque demi-journée non traitée (aujourd'hui et jours à venir), avec un plafond de sécurité si le rattrapage dépasse minuit. La table affiche une cible par demi-journée (matin/après-midi) et le bandeau de soldes indique le reste à faire et le nombre de demi-journées restantes.
34 lines
1.6 KiB
HTML
34 lines
1.6 KiB
HTML
<div id="soldes-section" hx-swap-oob="true">
|
|
<div class="soldes">
|
|
<div class="solde-item">
|
|
<div class="solde-eyebrow">Travaillé</div>
|
|
<div class="solde-num neutral">{{ result.total_travaille }}</div>
|
|
</div>
|
|
<div class="solde-item">
|
|
<div class="solde-eyebrow">Dû cette semaine</div>
|
|
<div class="solde-num neutral">{{ result.total_du }}</div>
|
|
</div>
|
|
<div class="solde-item {% if result.solde_min > 0 %}item-pos{% elif result.solde_min < 0 %}item-neg{% endif %}">
|
|
<div class="solde-eyebrow">Solde semaine</div>
|
|
<div class="solde-num {% if result.solde_min > 0 %}pos{% elif result.solde_min < 0 %}neg{% endif %}">
|
|
{% if result.solde_min > 0 %}+{% endif %}{{ result.solde }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% if result.slots_restants > 0 %}
|
|
<div class="reste-info">
|
|
{% if result.extra_min > 0 %}
|
|
Reste à faire : <strong>{{ result.reste }}</strong>
|
|
sur {{ result.slots_restants }} demi-journée{{ 's' if result.slots_restants > 1 else '' }} restante{{ 's' if result.slots_restants > 1 else '' }}
|
|
— à rattraper : <strong class="reste-extra">+{{ result.extra }}</strong> (~+{{ result.moyenne_extra }} chacune)
|
|
{% elif result.reste_min > 0 %}
|
|
Reste à faire : <strong>{{ result.reste }}</strong>
|
|
sur {{ result.slots_restants }} demi-journée{{ 's' if result.slots_restants > 1 else '' }} restante{{ 's' if result.slots_restants > 1 else '' }}
|
|
— le rythme habituel suffit, rien à rattraper.
|
|
{% else %}
|
|
Vous êtes à jour ou en avance — rien à rattraper cette semaine.
|
|
{% endif %}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|