feat: recipe type (dish/drink) for better cocktail handling (v0.31.0)

Add recipes.recipeType enum (dish|drink, default dish). Recipe form
now shows a Type selector and hides food-only fields for drinks
(prep/cook time, difficulty, batch-cook toggle) instead of forcing
every cocktail through meal-oriented UI. Detail page skips the
meal/drink pairing suggestion buttons on drink recipes (pairing a
drink with a drink doesn't make sense). Recipes list gains a Type
filter facet alongside difficulty/batch-cook.

Scoped deliberately narrow per investigation: no ABV/glass-type/
garnish structured fields, no meal-plan schema changes, and the
existing AI drink-pairing-suggestion feature (ephemeral, never saved
as a recipe) is left as-is rather than wired into recipe creation —
those suggestions are wine/beer/spirit recommendations without
ingredients/steps, not really recipes to save.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Arnaud
2026-07-14 14:16:43 +02:00
parent 894784afda
commit 6f11dc07fd
18 changed files with 5215 additions and 58 deletions
+9
View File
@@ -232,6 +232,10 @@
"medium": "Moyen",
"hard": "Difficile"
},
"recipeType": {
"dish": "Plat",
"drink": "Boisson"
},
"dietary": {
"vegan": "Végétalien",
"vegetarian": "Végétarien",
@@ -655,6 +659,7 @@
"batchCookLabel": "Batch cooking",
"batchCookOnly": "Batch cooking uniquement",
"batchCookExclude": "Masquer le batch cooking",
"recipeTypeLabel": "Type",
"clearFilters": "Effacer les filtres",
"tabMine": "Mes recettes",
"tabFavorites": "Favoris",
@@ -680,7 +685,11 @@
"titlePlaceholder": "Ma super recette",
"descriptionLabel": "Description",
"descriptionPlaceholder": "Ce qui rend cette recette spéciale…",
"recipeType": "Type",
"recipeTypeDish": "Plat",
"recipeTypeDrink": "Boisson / cocktail",
"servings": "Portions",
"servingsDrink": "Quantité (portions)",
"prepMins": "Prép. (min)",
"cookMins": "Cuisson (min)",
"difficulty": "Difficulté",