feat: add product selection step before meal planning
Inserts a new PlanProductsSheet as step 1 of the planning flow. Users see their current products as a multi-select checklist (all selected by default) before choosing the planning mode and dates. - Empty state explains the benefit and offers "Add products" CTA while always allowing "Plan without products" to skip - Selected product IDs flow through PlanMenuSheet → PlanDatePickerSheet → MenuService.generateForDates → backend - Backend: added ProductIDs field to generate-menu request body; uses ListForPromptByIDs when set, ListForPrompt otherwise - Backend: added Repository.ListForPromptByIDs (filtered SQL query) - All 12 ARB locale files updated with planProducts* keys Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -118,7 +118,9 @@
|
||||
"noResultsForQuery": "Rien trouvé pour \"{query}\"",
|
||||
"@noResultsForQuery": {
|
||||
"placeholders": {
|
||||
"query": { "type": "String" }
|
||||
"query": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"servingsLabel": "Portions",
|
||||
@@ -127,7 +129,9 @@
|
||||
"planningForDate": "",
|
||||
"@planningForDate": {
|
||||
"placeholders": {
|
||||
"date": { "type": "String" }
|
||||
"date": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"markAsEaten": "Marquer comme mangé",
|
||||
@@ -136,7 +140,6 @@
|
||||
"generateWeekSubtitle": "L'IA créera un menu avec petit-déjeuner, déjeuner et dîner pour toute la semaine",
|
||||
"generatingMenu": "Génération du menu...",
|
||||
"dayPlannedLabel": "Jour planifié",
|
||||
|
||||
"planMenuButton": "Planifier les repas",
|
||||
"planMenuTitle": "Que planifier ?",
|
||||
"planOptionSingleMeal": "Un repas",
|
||||
@@ -151,6 +154,16 @@
|
||||
"planSelectMealType": "Type de repas",
|
||||
"planSelectRange": "Choisir la période",
|
||||
"planGenerateButton": "Planifier",
|
||||
"planGenerating": "Génération du plan\u2026",
|
||||
"planSuccess": "Menu planifié !"
|
||||
"planGenerating": "Génération du plan…",
|
||||
"planSuccess": "Menu planifié !",
|
||||
"planProductsTitle": "Produits pour le menu",
|
||||
"planProductsSubtitle": "L'IA tiendra compte des produits sélectionnés lors de la génération des recettes",
|
||||
"planProductsEmpty": "Aucun produit ajouté",
|
||||
"planProductsEmptyMessage": "Ajoutez des produits que vous avez à la maison — l'IA suggérera des recettes à partir de ce que vous avez déjà",
|
||||
"planProductsAddProducts": "Ajouter des produits",
|
||||
"planProductsContinue": "Continuer",
|
||||
"planProductsSkip": "Ignorer la sélection des produits",
|
||||
"planProductsSkipNoProducts": "Planifier sans produits",
|
||||
"planProductsSelectAll": "Tout sélectionner",
|
||||
"planProductsDeselectAll": "Tout désélectionner"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user