templates/front/disponibilites_fragment.html.twig line 1

Open in your IDE?
  1. {# templates/front/disponibilites_fragment.html.twig #}
  2. <section id="planning">
  3.     <h3 class="mb-3 color-green-s">{{ titre }}</h3>
  4.     <h6 class="title-admin-p hr color-admin">Calendrier de la {{ titre_tableau }}</h6>
  5.     <div class="calendar-navigation mb-4">
  6.         <a href="#" class="change-week" data-date="{{ date_last }}"><img src="{{ asset('/assets/images/imgEC/semaine_precedente.png') }}" alt="Semaine précédente"></a>
  7.         <span id="current-week" class="mx-3">{{ titre_tableau }}</span>
  8.         <a href="#" class="change-week" data-date="{{ date_next }}"><img src="{{ asset('/assets/images/imgEC/semaine_suivante.png') }}" alt="Semaine suivante"></a>
  9.     </div>
  10.     <!-- Légende visible uniquement sur mobile -->
  11.     <div class="calendar-legend-mobile d-flex flex-wrap gap-3 align-items-center my-3">
  12.         <div class="legend-item d-flex align-items-center">
  13.             <span class="legend-box reserved"></span> Réservé
  14.         </div>
  15.         <div class="legend-item d-flex align-items-center">
  16.             <span class="legend-box available"></span> Disponible
  17.         </div>
  18.         <div class="legend-item d-flex align-items-center">
  19.             <span class="legend-box past"></span> Indisponible
  20.         </div>
  21.         <div class="legend-item d-flex align-items-center">
  22.             <span class="legend-box past-reserved"></span> Réservé (passé)
  23.         </div>
  24.     </div>
  25.     <div class="calendar-container">
  26.         <table class="table table-bordered text-center">
  27.             <thead>
  28.             <tr>
  29.                 <th>H</th>
  30.                 <th>Lun</th>
  31.                 <th>Mar</th>
  32.                 <th>Mer</th>
  33.                 <th>Jeu</th>
  34.                 <th>Ven</th>
  35.                 <th>Sam</th>
  36.                 <th>Dim</th>
  37.             </tr>
  38.             </thead>
  39.             <tbody id="calendar-body">
  40.             </tbody>
  41.         </table>
  42.     </div>
  43. </section>
  44. <style type="text/css">
  45.     .credits-header .badge { font-size: 1rem; padding: 0.5rem 1rem; }
  46.     .calendar-container { overflow-x: auto; }
  47.     .table th, .table td { vertical-align: middle; height: 60px; }
  48.     .table td.reserved { background-color: #f8d7da; color: #721c24; }
  49.     .table td.available { background-color: #d4edda;color: #155724; border: 1px solid #aaa!important;}
  50.     .table td:hover.available { background-color: #c3e6cb;}
  51.     section#planning{ width: 100%; }
  52.     .table td.past-reserved {background-color: #d6d8dc;}
  53.     /* Par défaut, on cache la légende */
  54.     .calendar-legend-mobile { display: none; }
  55.     /* Affiche la légende uniquement sur les petits écrans */
  56.     @media (max-width: 768px) { .calendar-legend-mobile { display: flex; }}
  57.     /* Style des pastilles couleur */
  58.     .legend-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; }
  59.     .legend-box { width: 20px; height: 20px; display: inline-block; border: 1px solid #999; border-radius: 4px; }
  60.     .legend-box.reserved { background-color: #f8d7da; }
  61.     .legend-box.available { background-color: #d4edda; }
  62.     .legend-box.past { background-color: #ffffff; }
  63.     .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 */ }
  64. </style>
  65. <script type="application/json" id="calendar-data" data-calendar-json>
  66.     {{ {
  67.         reservations: reservations,
  68.         dates: dates
  69.     } | json_encode | raw }}
  70. </script>