batchCooking/apps/web/src/pages
Nicolas de500e1a8a feat(recipes): catalogue de référence pour les unités d'ingrédients
Remplace l'unité texte libre de RecipeIngredient (max 20 caractères,
"g"/"grammes"/"G"... jamais fiable à additionner) par une référence
vers un nouveau catalogue Unit (id/key/type/toBaseFactor), même
traitement que Diet/Allergy/Ingredient : GET /reference/units, seedé
par reference-seed-data.ts (14 unités : gram/kilogram/milliliter/
centiliter/liter/tablespoon/teaspoon/piece/pinch/slice/clove/bunch/
sachet/sprig), sélectionnable uniquement via un <select> dans le
formulaire recette (plus de saisie libre).

`toBaseFactor` (combien d'unités de base — gramme pour MASS,
millilitre pour VOLUME — vaut une unité) pose les bases d'une future
fonctionnalité de conversion (ex. liste de courses additionnant
"500g" + "0.5kg") sans construire cette fonctionnalité elle-même —
les unités COUNT restent à toBaseFactor=1, non convertibles entre
elles (une "pincée" n'est pas une fraction fixe d'une "gousse").

Migration : recipe_ingredient.unit → unit_id (FK), breaking change
sans backfill assumé (pas de recette réelle en prod actuellement,
voir commentaire de migration) — mêmes garde-fous service-side que
ingredientId (404 UNIT_NOT_FOUND) et mêmes tests de couverture.
2026-08-19 22:34:57 +02:00
..
onboarding Web: parcours d'inscription réordonné — régime, foyer (optionnel), allergènes (step 7/8) 2026-08-17 10:48:31 +02:00
settings fix(settings): remove max-width cap on settings pages 2026-08-19 21:15:53 +02:00
ComingSoonPage.scss fix(web): sidebar reste fixe sur page longue, page Liste de courses centrée (#21) 2026-08-19 10:42:30 +02:00
ComingSoonPage.tsx Web: wire AppLayout into routing + stub section pages (step 3/5) 2026-08-16 21:04:51 +02:00
LoginPage.tsx Centralize error handling + code quality pass (comments, SCSS theming) (#7) 2026-08-16 18:40:53 +02:00
planning-page.scss Web: PlanningPage — grille hebdomadaire + navigation semaine (step 3/4) 2026-08-17 14:19:16 +02:00
PlanningPage.tsx feat(planning): dialog de sélection de recette, création de planning, assignation avec portions 2026-08-19 14:44:02 +02:00
RecipeFormPage.tsx feat(recipes): catalogue de référence pour les unités d'ingrédients 2026-08-19 22:34:57 +02:00
RecipesPage.tsx feat(recipes): flag les ingrédients faisables maison + suggestion de recherche 2026-08-19 19:09:39 +02:00
ShoppingListPage.tsx Web: wire AppLayout into routing + stub section pages (step 3/5) 2026-08-16 21:04:51 +02:00
SignupPage.tsx Web: parcours d'inscription réordonné — régime, foyer (optionnel), allergènes (step 7/8) 2026-08-17 10:48:31 +02:00