function section(title,list,dateStr){ const s=document.createElement('section'); s.className='w91-time-section'; s.innerHTML=`

${title}

`; const grid=document.createElement('div'); grid.className='w91-time-grid'; list.forEach((slot)=>{ const time=slot.time; const idx=slot.sourceIndex; const past=isPast(dateStr,time); const label=document.createElement('label'); label.className='w91-time-radio'+(past?' is-disabled':''); const radio=document.createElement('input'); radio.type='radio'; radio.name='w91-time'; radio.value=time; radio.disabled=past; if(!past && time===selectedTime){ radio.checked=true; label.classList.add('is-selected'); } const span=document.createElement('span'); span.textContent=time+(past?' · passé':''); label.append(radio,span); grid.appendChild(label); if(past) return; radio.addEventListener('change',()=>{ if(!radio.checked) return; selectedTime=time; checks.forEach((cb,j)=>{ const shouldBeChecked=(j===idx); if(cb.checked!==shouldBeChecked){ cb.click(); } }); hidden.value=time; trigger(hidden,'input'); trigger(hidden,'change'); ui.querySelectorAll('.w91-time-radio').forEach(x=>{ x.classList.remove('is-selected'); }); label.classList.add('is-selected'); err.classList.remove('show'); /* Message durée 1h30 : uniquement vendredi/samedi + créneau du soir */ const durationNote=sectionsWrap.querySelector('.w91-duration-note'); const dow=dayOfWeek(dateStr); const isFridaySaturday=(dow===5 || dow===6); const isEveningTime=[ '19h30', '20h00', '20h30', '21h00', '21h30', '22h00' ].includes(time); if(durationNote){ durationNote.hidden=!(isFridaySaturday && isEveningTime); } /* Avertissement dernier créneau */ const info=lateInfo(dateStr,time); if(info){ lateWarning.innerHTML=`Attention : la cuisine ferme à ${info.close}. Pour ce créneau, merci d’arriver à l’heure. En cas de retard, prévenez le restaurant au ${(window.SMARTLY_W91&&SMARTLY_W91.phone)||'06 66 91 40 33'}. Sans information de votre part, le service ne pourra pas être garanti.`; lateWarning.classList.add('is-visible'); }else{ lateWarning.innerHTML=''; lateWarning.classList.remove('is-visible'); } }); }); s.appendChild(grid); /* Le message appartient visuellement uniquement au service du soir */ if(title==='Service du soir'){ const durationNote=document.createElement('div'); durationNote.className='w91-duration-note'; durationNote.hidden=true; durationNote.innerHTML=` Réservations limitées à 1h30 Le vendredi soir et le samedi soir, les tables sont réservées pour une durée de 1h30 afin de garantir le bon déroulement du service. Merci pour votre compréhension. `; s.appendChild(durationNote); } return s; } https://west91.fr/