feat: manual nutrition entry on recipe editor

Lets authors enter nutrition values by hand instead of relying only on
the AI estimate; the detail-page panel now shows whether data was
manually entered or AI-estimated and offers to switch between them.

v0.35.0
This commit is contained in:
Arnaud
2026-07-14 15:55:42 +02:00
parent bd3d8c88f0
commit 1577b8de01
18 changed files with 5275 additions and 15 deletions
@@ -61,6 +61,11 @@ export default async function EditRecipePage({ params }: Params) {
preview: getPublicUrl(photo.storageKey),
})),
isBatchCook: recipe.isBatchCook,
// Only pre-fill the manual-nutrition editor with existing values when
// they were actually manually entered — AI-estimated data shouldn't
// silently become "manual" just because the recipe happened to have
// an estimate on file when it was opened for editing.
nutrition: recipe.nutritionManual ? recipe.nutritionData?.perServing ?? null : null,
dishes: recipe.batchDishes.map((dish) => ({
id: dish.id,
name: dish.name,
+1 -1
View File
@@ -396,7 +396,7 @@ export default async function RecipePage({ params }: Params) {
order: ing.order,
}))}
/>
<NutritionPanel recipeId={id} initialData={recipe.nutritionData} />
<NutritionPanel recipeId={id} initialData={recipe.nutritionData} initialManual={recipe.nutritionManual} />
</div>
)}