fix(borne): persiste + garde le mode de consommation (corrige 422 paiement) #89

Merged
Corentin merged 1 commit from fix/borne-service-mode-guard into dev 2026-06-22 15:43:33 +02:00
Owner
No description provided.
Corentin added 1 commit 2026-06-22 15:41:32 +02:00
fix(borne): persiste et garde le mode de consommation (corrige 422 INVALID_SERVICE_MODE au paiement)
All checks were successful
CI / secret-scan (pull_request) Successful in 10s
CI / php-lint (pull_request) Successful in 24s
CI / static-tests (pull_request) Successful in 48s
CI / js-tests (pull_request) Successful in 30s
CI / php-lint (push) Successful in 26s
CI / static-tests (push) Successful in 1m11s
CI / js-tests (push) Successful in 34s
CI / secret-scan (push) Successful in 11s
88c987c2b2
Le paiement borne echouait en POST /api/orders -> 422 INVALID_SERVICE_MODE car le
mode de consommation (sur place / a emporter) n'atteignait jamais localStorage : la
1re page post-accueil (categories.html) ne chargeait pas nav.js, donc le ?mode= recu
de l'accueil n'etait pas persiste, et ses cartes statiques pointaient vers products.html
sans &mode=. Au paiement, mapServiceMode(null) -> service_mode null -> rejet serveur ;
le badge affichait en plus un faux 'Sur place' qui masquait l'absence de mode.

- categories.html : charge nav.js -> syncModeFromURL persiste le mode des l'etape
  categories (cause racine du 422 ; sans ca la garde ci-dessous bouclerait).
- nav.js : needsModeRedirect (helper pur) renvoie a l'accueil si une page hors accueil
  n'a pas de mode valide memorise ; modeLabel ne ment plus (vide si inconnu) ; listener
  DOMContentLoaded garde derriere typeof document -> module importable en test pur.
- page-payment.js : garde finale dans startCheckout (pas de soumission sans mode valide,
  retour accueil, panier conserve) + libelle recap honnete.
- tests/js/nav.test.js : table de verite des helpers + regression (categories.html charge nav.js).

Revue bmad-compliance : regression de flux normal identifiee (must_fix) corrigee. 92 tests JS verts.
Corentin scheduled this pull request to auto merge when all checks succeed 2026-06-22 15:41:32 +02:00
Corentin merged commit 042c30a5fe into dev 2026-06-22 15:43:33 +02:00
Sign in to join this conversation.
No reviewers
No labels
auto-merge
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: AcadeNice/corentin_wakdo#89
No description provided.