feat(borne): modale options produit + grille en modales (P5 L3) #66

Merged
Corentin merged 1 commit from feat/p5-l3-product-options into dev 2026-06-19 18:41:58 +02:00
Owner
No description provided.
Corentin added 1 commit 2026-06-19 18:39:49 +02:00
feat(borne): modale options produit + grille en modales (P5 L3)
All checks were successful
CI / static-tests (pull_request) Successful in 51s
CI / secret-scan (push) Successful in 12s
CI / js-tests (push) Successful in 29s
CI / secret-scan (pull_request) Successful in 12s
CI / php-lint (pull_request) Successful in 24s
CI / js-tests (pull_request) Successful in 31s
CI / php-lint (push) Successful in 28s
CI / static-tests (push) Successful in 56s
0e51d6151d
Cliquer un produit ouvre desormais une modale au-dessus de la grille (paradigme
maquette : ecran de commande unique + modales) au lieu de naviguer vers product.html.
Menu -> composeur (L2) ; produit simple -> modale quantite+ajout. A l'ajout, le
panneau de commande persistant (L1) est re-rendu : la commande se met a jour sans
navigation. product.html reste un repli (lien direct).

- product-options.js : modale (image, prix unitaire, stepper quantite, total) ;
  productCartItem pur ; a11y (role=dialog, focus-trap, ESC, fond aria-hidden,
  overflow restaure, aria-live sur quantite ET total).
- page-products.js : clic carte -> modale (preventDefault sur le <a>) ; bouton 'i'
  allergenes garde son stopPropagation.
- style.css : .product-options + .qty-control (reutilise .qty-btn/.qty-value).
- tests : product-options.test.js (productCartItem + rendu/stepper/ajout). 56/56 verts.

Taille 30/50Cl de la maquette differee : absente du modele produit (un seul
price_cents) -> necessitera des variantes produit cote API.
Revue adversariale : 1 finding MEDIUM (aria-live du total) corrige.
Corentin scheduled this pull request to auto merge when all checks succeed 2026-06-19 18:39:50 +02:00
Corentin merged commit 22a4bacc22 into dev 2026-06-19 18:41:58 +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#66
No description provided.