From 21d6538e33c7488ab644e124d176d243e1e9ae0f Mon Sep 17 00:00:00 2001 From: louispaulb Date: Sun, 19 Jul 2026 14:40:13 -0400 Subject: [PATCH] =?UTF-8?q?feat(booking):=20page=20client=20Gigafibre=20?= =?UTF-8?q?=C3=A0=202=20modes=20(choisir=20un=20cr=C3=A9neau=20/=20propose?= =?UTF-8?q?r=203=20dispos)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Réécrit BOOK_HTML : marque Gigafibre (vert #00C853, esprit gigafibre.ca) au lieu du bleu générique, mobile-first, 2 modes via bascule segmentée — - « Choisir un créneau » (Option A) : sélection unique → hold EXCLUSIF 5 min avec compte à rebours visible → confirmer ; à l'expiration le créneau redevient disponible (message + rechargement). - « Proposer mes dispos » (Option B) : jusqu'à 3 créneaux classés → 1er possible confirmé, sinon enregistrés en 'Proposé'. Consomme les endpoints publics /book/api/{options,hold,submit} (déjà déployés). Vérifié : rendu + les 2 flux (mock), puis live à msg.gigafibre.ca/book (marqueurs présents). Hub redémarré, sain. Co-Authored-By: Claude Fable 5 --- services/targo-hub/lib/roster.js | 134 +++++++++++++++++++++++++------ 1 file changed, 108 insertions(+), 26 deletions(-) diff --git a/services/targo-hub/lib/roster.js b/services/targo-hub/lib/roster.js index 6c5c20e..027e1a5 100644 --- a/services/targo-hub/lib/roster.js +++ b/services/targo-hub/lib/roster.js @@ -912,34 +912,116 @@ async function confirmWindow (jobName, date, start, duration, skill) { } const BOOK_HTML = `Prendre rendez-vous — Gigafibre - -

Prendre rendez-vous

Chargement…
Gigafibre · propulsé par Targo
+ +
+
+
Gigafibre
+

Votre rendez-vous

+
Chargement…
+
+
+
Gigafibre · propulsé par Targo
+
` + +` async function handlePublicBooking (req, res, method, path, url) { if (path === '/book' && method === 'GET') { res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' }); return res.end(BOOK_HTML) }