feat(cooking-session): onglets Recettes/Plan + stepper d'étapes cochables #23

Merged
kyuno merged 4 commits from feat/cooking-session-stepper into main 2026-09-03 22:39:55 +02:00
Owner

Remanie /cuisiner : au lieu d'empiler toutes les phases, deux onglets (Recettes, Plan) et un stepper qui parcourt les phases une à une.

Plan

  • Un cran du stepper = une phase (Mise en place → Cuisson… → Dressage) avec ses tâches groupées + le bandeau « Pendant ce temps ».
  • Navigation ‹ précédent / suivant › (désactivés aux extrémités) ou clic direct sur un nœud.
  • Ligne « Étape 2 / 3 · Cuisson » + compteur « 1 / 3 tâches ».
  • Chaque tâche est cochable ; la progression est mémorisée par semaine dans localStorage (CookingProgressStore) — aucun état serveur, même parti pris que ShoppingListPage. Ids réconciliés au chargement (reconcileChecked) si la planif a changé. Réutilise CheckboxOption.

Recettes

  • Liste des recettes de la semaine (nom, portions, lien vers la fiche).

Détails

  • stepIndex en état de composant (pas d'?step= URL — la semaine elle-même n'est pas maintenue dans l'URL après navigation), PlanTab remonté par key={weekKey}.
  • i18n : cookingSession.tabs / stepper / progress / recipesTab.
  • Nouveaux helpers purs dans cooking-session.ts (reconcileChecked, phaseProgress).
  • Tests Cypress mode layout réécrits + scénarios Gherkin étendus.

Vérifié : pnpm lint + pnpm build OK ; smoke test navigateur (bascule d'onglets, stepper, coche persistée au reload, liens Recettes, clair/sombre). Cypress non exécuté headless dans le sandbox Windows (crash GPU documenté) — specs pour la CI.

🤖 Generated with Claude Code

Remanie `/cuisiner` : au lieu d'empiler toutes les phases, deux onglets (**Recettes**, **Plan**) et un **stepper** qui parcourt les phases une à une. ## Plan - Un cran du stepper = une phase (Mise en place → Cuisson… → Dressage) avec ses tâches groupées + le bandeau « Pendant ce temps ». - Navigation ‹ précédent / suivant › (désactivés aux extrémités) ou clic direct sur un nœud. - Ligne « Étape 2 / 3 · Cuisson » + compteur « 1 / 3 tâches ». - Chaque tâche est **cochable** ; la progression est mémorisée par semaine dans `localStorage` (`CookingProgressStore`) — aucun état serveur, même parti pris que `ShoppingListPage`. Ids réconciliés au chargement (`reconcileChecked`) si la planif a changé. Réutilise `CheckboxOption`. ## Recettes - Liste des recettes de la semaine (nom, portions, lien vers la fiche). ## Détails - `stepIndex` en état de composant (pas d'`?step=` URL — la semaine elle-même n'est pas maintenue dans l'URL après navigation), `PlanTab` remonté par `key={weekKey}`. - i18n : `cookingSession.tabs` / `stepper` / `progress` / `recipesTab`. - Nouveaux helpers purs dans `cooking-session.ts` (`reconcileChecked`, `phaseProgress`). - Tests Cypress mode layout réécrits + scénarios Gherkin étendus. Vérifié : `pnpm lint` + `pnpm build` OK ; smoke test navigateur (bascule d'onglets, stepper, coche persistée au reload, liens Recettes, clair/sombre). Cypress non exécuté headless dans le sandbox Windows (crash GPU documenté) — specs pour la CI. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
kyuno added 2 commits 2026-09-03 12:06:22 +02:00
feat(cooking-session): onglets recettes/plan + stepper d'étapes cochables
Some checks failed
CI / lint (push) Successful in 2m16s
CI / build (push) Successful in 3m11s
CI / e2e (push) Successful in 7m53s
CI / intent-service-test (push) Successful in 13m57s
CI / test (push) Failing after 17m23s
dfe0310b63
Remanie /cuisiner : au lieu d'empiler toutes les phases, deux onglets
(Recettes, Plan) et un stepper qui parcourt les phases une à une. Chaque
tâche est cochable ; la progression est mémorisée par semaine dans
localStorage — aucun état serveur, même parti pris que le reste de la page.

- CookingSessionPage : barre d'onglets + PlanTab (stepper, nav
  précédent/suivant, clic direct sur un nœud) + RecipesTab (liste des
  recettes de la semaine, lien vers la fiche)
- cooking-progress.ts : CookingProgressStore (load/save localStorage,
  clé batchcooking:cookingProgress:<semaine>)
- cooking-session.ts : reconcileChecked / phaseProgress (helpers purs)
- réutilise CheckboxOption pour les cartes de tâche cochables
- i18n : cookingSession.tabs / stepper / progress / recipesTab
- tests Cypress (mode layout + Gherkin) mis à jour et étendus

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
merge(main): rattrape main (#21 CI, #22 températures)
Some checks failed
CI / lint (push) Successful in 1m55s
CI / build (push) Successful in 2m46s
CI / e2e (push) Failing after 10m49s
CI / intent-service-test (push) Failing after 18m58s
CI / test (push) Failing after 24m32s
3d5998a535
kyuno added 2 commits 2026-09-03 14:09:32 +02:00
feat(cooking-session): regroupement d'étapes sensible aux métadonnées d'action
All checks were successful
CI / lint (push) Successful in 1m57s
CI / build (push) Successful in 3m2s
CI / e2e (push) Successful in 7m59s
CI / intent-service-test (push) Successful in 18m44s
CI / test (push) Successful in 28m2s
85268729e6
L'optimiseur ne mutualisait que le pré-découpage. Il regroupe maintenant
aussi les actions SETUP (préchauffage, ébullition) entre recettes, mais
seulement quand elles sont compatibles : deux préchauffages ne fusionnent
que s'ils visent la même température détectée. Deux préchauffages à des
températures différentes restent séparés, ordonnés du plus froid au plus
chaud, et la mise en place porte une note « Four requis à N températures —
enchaîner … ». Défaut optimiste : deux préchauffages sans température
détectée fusionnent quand même (supposés compatibles).

- cooking-optimizer.ts : temperatureKey (comparaison exacte, aucune
  conversion inter-représentations), isPureSetupStep / setupSignature /
  extractMergedSetup en miroir du chemin merged-prep ; comparableTemp pour
  l'ordre seul ; detectApplianceTemperatureConflicts → CookingPhaseView.notes
- cooking-session.service.ts : `temperatures` dans l'include + mapping
- packages/shared : CookingTemperatureView, kind « merged-setup »,
  CookingTaskView.temperatures, CookingPhaseNoteView, CookingPhaseView.notes
- web : temperature-label.ts extrait de StepDescription et réutilisé ;
  taskHeadline gère merged-setup ; phaseNoteText ; bandeau .cooking-phase__note
- i18n : cookingSession.task.mergedSetupLabel, cookingSession.note.*
- tests : 7 cas Mocha « setup pooling » + test DB cooking-session,
  cas Cypress mode layout + scénario Gherkin

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Merge pull request 'feat(cooking-session): regroupement d'étapes sensible aux métadonnées d'action' (#24) from feat/cooking-optimizer-metadata into feat/cooking-session-stepper
All checks were successful
CI / lint (push) Successful in 1m12s
CI / build (push) Successful in 1m34s
CI / e2e (push) Successful in 6m3s
CI / intent-service-test (push) Successful in 13m11s
CI / test (push) Successful in 23m15s
39e748adc9
kyuno merged commit b8411a2e91 into main 2026-09-03 22:39:55 +02:00
Sign in to join this conversation.
No reviewers
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: kyuno/batchCooking#23
No description provided.