{# templates/front/disponibilites_fragment.html.twig #}
<section id="planning">
<h3 class="mb-3 color-green-s">{{ titre }}</h3>
<h6 class="title-admin-p hr color-admin">Calendrier de la {{ titre_tableau }}</h6>
<div class="calendar-navigation mb-4">
<a href="#" class="change-week" data-date="{{ date_last }}"><img src="{{ asset('/assets/images/imgEC/semaine_precedente.png') }}" alt="Semaine précédente"></a>
<span id="current-week" class="mx-3">{{ titre_tableau }}</span>
<a href="#" class="change-week" data-date="{{ date_next }}"><img src="{{ asset('/assets/images/imgEC/semaine_suivante.png') }}" alt="Semaine suivante"></a>
</div>
<!-- Légende visible uniquement sur mobile -->
<div class="calendar-legend-mobile d-flex flex-wrap gap-3 align-items-center my-3">
<div class="legend-item d-flex align-items-center">
<span class="legend-box reserved"></span> Réservé
</div>
<div class="legend-item d-flex align-items-center">
<span class="legend-box available"></span> Disponible
</div>
<div class="legend-item d-flex align-items-center">
<span class="legend-box past"></span> Indisponible
</div>
<div class="legend-item d-flex align-items-center">
<span class="legend-box past-reserved"></span> Réservé (passé)
</div>
</div>
<div class="calendar-container">
<table class="table table-bordered text-center">
<thead>
<tr>
<th>H</th>
<th>Lun</th>
<th>Mar</th>
<th>Mer</th>
<th>Jeu</th>
<th>Ven</th>
<th>Sam</th>
<th>Dim</th>
</tr>
</thead>
<tbody id="calendar-body">
</tbody>
</table>
</div>
</section>
<style type="text/css">
.credits-header .badge { font-size: 1rem; padding: 0.5rem 1rem; }
.calendar-container { overflow-x: auto; }
.table th, .table td { vertical-align: middle; height: 60px; }
.table td.reserved { background-color: #f8d7da; color: #721c24; }
.table td.available { background-color: #d4edda;color: #155724; border: 1px solid #aaa!important;}
.table td:hover.available { background-color: #c3e6cb;}
section#planning{ width: 100%; }
.table td.past-reserved {background-color: #d6d8dc;}
/* Par défaut, on cache la légende */
.calendar-legend-mobile { display: none; }
/* Affiche la légende uniquement sur les petits écrans */
@media (max-width: 768px) { .calendar-legend-mobile { display: flex; }}
/* Style des pastilles couleur */
.legend-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; }
.legend-box { width: 20px; height: 20px; display: inline-block; border: 1px solid #999; border-radius: 4px; }
.legend-box.reserved { background-color: #f8d7da; }
.legend-box.available { background-color: #d4edda; }
.legend-box.past { background-color: #ffffff; }
.legend-box.past-reserved { background-color: #d6d8dc; /* Même couleur que past */ border: 2px solid #721c24; /* Bord plus foncé pour signaler une réservation passée */ }
</style>
<script type="application/json" id="calendar-data" data-calendar-json>
{{ {
reservations: reservations,
dates: dates
} | json_encode | raw }}
</script>