batchCooking/apps/web/src/pages
Nicolas 9083770d57 fix(recipes): corrige plusieurs bugs d'import TheMealDB
- Les instructions TheMealDB numérotées sur leur propre ligne ("1\n\ntexte...\n\n2\n\ntexte...") créaient des étapes parasites ne contenant qu'un chiffre — filtrées désormais (#52).
- Un ingrédient compté sans mot d'unité dans le texte source (ex. "4 Egg Yolks") laissait l'import bloqué sur "Importer" indéfiniment, sans indication visuelle de la ligne en cause — matchUnit retombe maintenant sur l'unité générique "piece" quand une quantité a été extraite, et RecipeImportForm/RecipeFormPage surlignent désormais toute ligne dont l'unité manque, avec un message explicite (#53).
- Ajout de INGREDIENT_LABEL_SYNONYMS_EN pour reconnaître des formulations alternatives fréquentes chez les sources anglophones ("vanilla pod" en plus de "vanilla bean") sans élargir INGREDIENT_LABELS_EN à un tableau pour ses ~550 entrées (#54).
- Effet de bord découvert en vérifiant #53 de bout en bout : deux lignes source résolues vers le même ingrédient catalogue (ex. "Egg Yolks"/"Eggs" -> "Œuf") faisaient planter la création en 500 (contrainte unique recipe_id+ingredient_id) au lieu d'un 400 propre. createRecipeSchema rejette maintenant les ingredientId en double, et le formulaire d'import surligne les doublons avant même de soumettre.

Vérifié de bout en bout dans le navigateur (import réel de la recette "Flan" depuis TheMealDB, jusqu'au planning) en plus des tests ajoutés.

Closes #52, #53, #54

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-21 08:14:37 +02:00
..
onboarding fix(web): corrige l'e2e onboarding cassé par l'étape sources 2026-08-20 09:47:17 +02:00
settings feat(recipes): préférences de sources par foyer + distinction officielle/non-officielle 2026-08-20 09:22:54 +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
ImportRecipePage.tsx feat(planning): le picker prévisualise avant de confirmer, formulaire de revue intégré 2026-08-21 00:05:17 +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 fix(recipes): corrige plusieurs bugs d'import TheMealDB 2026-08-21 08:14:37 +02:00
RecipesPage.tsx feat(planning): le picker prévisualise avant de confirmer, formulaire de revue intégré 2026-08-21 00:05:17 +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