'
@@ -984,6 +988,15 @@ function load(){api('/book/api/options?token='+encodeURIComponent(token)).then(f
el('go').onclick=function(){mode==='pick'?confirmPick():submitPropose()};
setMode('pick')
})}
+function renderFreeform(){var c=el('content');
+ var opt='';
+ var row=function(n){return '
'+n+'
'};
+ c.innerHTML='
Nous n\'avons pas de créneau en ligne pour l\'instant. Indiquez jusqu\'à 3 disponibilités qui vous conviennent — un répartiteur vous confirmera rapidement.
'+row(1)+row(2)+row(3)+'';
+ el('go').onclick=submitFreeform}
+function submitFreeform(){var go=el('go');var prefs=[];[].forEach.call(document.querySelectorAll('.ff-date'),function(d){if(d.value){var per=document.querySelector('.ff-per[data-n="'+d.dataset.n+'"]');prefs.push({date:d.value,start:per?per.value:'09:00'})}});
+ if(!prefs.length){el('hint').textContent='Choisissez au moins une date.';return}
+ go.disabled=true;go.textContent='Envoi…';
+ api('/book/api/submit?token='+encodeURIComponent(token),{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({mode:'rank',prefs:prefs})}).then(done)}
function setMode(m){mode=m;picks=[];sel=null;stopCd();el('hold').classList.remove('on');
Array.prototype.forEach.call(document.querySelectorAll('#seg button'),function(b){b.classList.toggle('on',b.dataset.m===m)});
el('modehint').textContent=m==='pick'?'Touchez un créneau — il est réservé pour vous pendant 5 minutes, le temps de confirmer.':'Touchez 1 à 3 créneaux en ordre de préférence. On confirme le 1er possible.';