batchCooking/specs
Nicolas 27bfa3f6ab feat(shopping-list): liste de courses agrégée depuis le planning
GET /shopping-list?date= (shopping-list.service.ts/.routes.ts) somme les
ingrédients de chaque recette planifiée sur la semaine, mis à l'échelle par
les portions de chaque créneau (PlanningItem.portions / Recipe.portions),
regroupés par paire (ingredientId, unitId) — jamais null contrairement à
GET /planning, une semaine vide redescend en items: [].

Côté web, ShoppingListPage rend cette liste groupée par rayon (même
IngredientCategory que IngredientPicker), triée alphabétiquement en
français à l'intérieur d'un rayon (shopping-list.ts, logique pure extraite
du composant). WeekNavigator (flèches + calendrier) est extrait de
PlanningPage vers features/planning/ pour être partagé entre les deux
pages ; ses libellés migrent de planning.* vers common.weekNav.*/
common.calendar.*/common.days.*, plus génériques pour une page qui n'est
plus seulement le planning.

ComingSoonPage retiré (plus aucun appelant, Liste de courses avait le
dernier stub restant).

Tests : Mocha (agrégation, mise à l'échelle par portions, unités non
fusionnées) + Cucumber (shopping-list.feature : liste vide, groupement/tri,
navigation de semaine) + mise à jour de layout.cy.ts/planning-page.cy.ts
pour le nouveau rendu.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-22 22:36:16 +02:00
..
backend-architecture.md feat(shopping-list): liste de courses agrégée depuis le planning 2026-08-22 22:36:16 +02:00
batch-cooking-architecture.md feat(shopping-list): liste de courses agrégée depuis le planning 2026-08-22 22:36:16 +02:00
batch-cooking-modele.md feat(api): remplace la détection des tech steps par un pipeline NLP (node-nlp) (#63) 2026-08-22 00:17:39 +02:00
dev-conventions.md chore(lint): ajoute noNonNullAssertion, useConsistentArrayType, useConsistentTypeDefinitions (#62) 2026-08-21 14:02:45 +02:00
error-handling.md fix: corrige les bugs ouverts du repo (import TheMealDB, sidebar mobile) + doc (#59) 2026-08-21 12:16:22 +02:00
frontend-architecture.md feat(shopping-list): liste de courses agrégée depuis le planning 2026-08-22 22:36:16 +02:00