feat(ingredients): ajoute jaune/blanc d'oeuf, coriandre en poudre, viandes hachées

Complète le catalogue d'ingrédients de référence (seed data) :

- jaune d'oeuf / blanc d'oeuf (dairyAndCheese/eggs, aux côtés d'"egg")
- coriandre en poudre (condimentsAndSpices/spices, aux côtés de
  corianderSeeds/freshCilantro déjà présents)
- viandes hachées manquantes : veau, porc, agneau (meatAndSeafood/meats,
  aux côtés de groundBeef déjà présent), dinde et poulet
  (meatAndSeafood/poultry)

Libellés ajoutés dans apps/web/src/locales/fr/translation.json (source
d'affichage) et packages/shared/src/data/catalog-labels-en.ts (matching
anglais pour l'import de recettes depuis des sources comme TheMealDB).
Aucune icône ni régime dédiés : héritent des défauts de leur groupe
(EGG/SPICE/MEAT/POULTRY, mêmes dietUids que leurs groupes respectifs).

282 tests apps/api toujours au vert (resetDatabase() reseed le
catalogue à chaque test).
This commit is contained in:
Nicolas 2026-08-21 08:25:12 +02:00
parent 4f509865c1
commit bc1f14f1cc
3 changed files with 31 additions and 1 deletions

View file

@ -551,6 +551,13 @@ export const INGREDIENT_GROUPS: Array<{
{ uid: "vealCutlet", allergenUids: [] },
{ uid: "porkTenderloin", allergenUids: [] },
{ uid: "porkChop", allergenUids: [] },
// Ground/minced meats, requested alongside `groundBeef` (already
// seeded) — one per red-meat type the catalog otherwise only offers
// as a whole cut. Ground poultry (turkey/chicken) lives in the
// `poultry` subcategory below, next to their whole-cut counterparts.
{ uid: "groundVeal", allergenUids: [] },
{ uid: "groundPork", allergenUids: [] },
{ uid: "groundLamb", allergenUids: [] },
{ uid: "lamb", allergenUids: [] },
{ uid: "legOfLamb", allergenUids: [] },
{ uid: "baconLardons", allergenUids: [] },
@ -601,7 +608,9 @@ export const INGREDIENT_GROUPS: Array<{
defaultIcon: "POULTRY",
items: [
{ uid: "chicken", allergenUids: [] },
{ uid: "groundChicken", allergenUids: [] },
{ uid: "turkey", allergenUids: [] },
{ uid: "groundTurkey", allergenUids: [] },
{ uid: "duck", allergenUids: [] },
{ uid: "duckBreast", allergenUids: [] },
// Ciqual 2025 additions — see the VIANDES group above.
@ -937,7 +946,11 @@ export const INGREDIENT_GROUPS: Array<{
subcategory: "eggs",
defaultDiets: ["vegetarian", "pescatarian"],
defaultIcon: "EGG",
items: [{ uid: "egg", allergenUids: ["eggs"] }],
items: [
{ uid: "egg", allergenUids: ["eggs"] },
{ uid: "eggYolk", allergenUids: ["eggs"] },
{ uid: "eggWhite", allergenUids: ["eggs"] },
],
},
{
category: "dairyAndCheese",
@ -997,6 +1010,7 @@ export const INGREDIENT_GROUPS: Array<{
{ uid: "fiveSpice", allergenUids: [] },
{ uid: "garamMasala", allergenUids: [] },
{ uid: "corianderSeeds", allergenUids: [] },
{ uid: "groundCoriander", allergenUids: [] },
{ uid: "cardamom", allergenUids: [] },
{ uid: "fenugreek", allergenUids: [] },
{ uid: "jalapeno", allergenUids: [] },

View file

@ -547,6 +547,9 @@
"vealCutlet": "Escalope de veau",
"porkTenderloin": "Filet mignon de porc",
"porkChop": "Côte de porc",
"groundVeal": "Veau haché",
"groundPork": "Porc haché",
"groundLamb": "Agneau haché",
"lamb": "Agneau",
"legOfLamb": "Gigot d'agneau",
"baconLardons": "Lardons",
@ -585,7 +588,9 @@
"beefMuzzle": "Museau de bœuf",
"grisonsDriedBeef": "Viande des Grisons",
"chicken": "Poulet",
"groundChicken": "Poulet haché",
"turkey": "Dinde",
"groundTurkey": "Dinde hachée",
"duck": "Canard",
"duckBreast": "Magret de canard",
"quail": "Caille",
@ -793,6 +798,8 @@
"kefir": "Kéfir",
"greekYogurt": "Yaourt à la grecque",
"egg": "Œuf",
"eggYolk": "Jaune d'œuf",
"eggWhite": "Blanc d'œuf",
"coconutMilk": "Lait de coco",
"coconutCream": "Crème de coco",
"almondMilk": "Lait d'amande",
@ -834,6 +841,7 @@
"fiveSpice": "Cinq épices",
"garamMasala": "Garam masala",
"corianderSeeds": "Graines de coriandre",
"groundCoriander": "Coriandre en poudre",
"cardamom": "Cardamome",
"fenugreek": "Fenugrec",
"jalapeno": "Piment jalapeño",

View file

@ -137,6 +137,9 @@ export const INGREDIENT_LABELS_EN: Record<string, string> = {
vealCutlet: "Veal cutlet",
porkTenderloin: "Pork tenderloin",
porkChop: "Pork chop",
groundVeal: "Ground veal",
groundPork: "Ground pork",
groundLamb: "Ground lamb",
lamb: "Lamb",
legOfLamb: "Leg of lamb",
baconLardons: "Bacon lardons",
@ -177,7 +180,9 @@ export const INGREDIENT_LABELS_EN: Record<string, string> = {
// Poultry
chicken: "Chicken",
groundChicken: "Ground chicken",
turkey: "Turkey",
groundTurkey: "Ground turkey",
duck: "Duck",
duckBreast: "Duck breast",
quail: "Quail",
@ -403,6 +408,8 @@ export const INGREDIENT_LABELS_EN: Record<string, string> = {
// Eggs
egg: "Egg",
eggYolk: "Egg yolk",
eggWhite: "Egg white",
// Plant-based alternatives
coconutMilk: "Coconut milk",
@ -448,6 +455,7 @@ export const INGREDIENT_LABELS_EN: Record<string, string> = {
fiveSpice: "Five-spice powder",
garamMasala: "Garam masala",
corianderSeeds: "Coriander seeds",
groundCoriander: "Ground coriander",
cardamom: "Cardamom",
fenugreek: "Fenugreek",
jalapeno: "Jalapeño",