feat: manually create and edit batch-cook recipes
recipe-form.tsx previously had no batch-cook awareness at all — editing an AI-generated batch-cook recipe and saving silently corrupted it (steps lost their per-dish `appliesTo` tags, recipeBatchDishes rows went stale/orphaned, since the create/update API schemas and edit-page query never touched them). Adds a "batch-cook recipe" toggle to the form, an editable dish list (name, description, fridge days, freezer-friendly/note, day-of instructions), and per-step dish tagging (click a dish chip to mark which dish(es) that step advances; empty = shared prep). Renaming a dish propagates to any step still tagged with the old name instead of orphaning it. Wired through Create/Update API schemas and the edit page's query/payload. Verified locally: created a 2-dish batch recipe from scratch through the real form, confirmed it renders identically to an AI-generated one (grouped steps, dishes & storage cards), edited it, renamed a dish, reloaded, and confirmed the step tag followed the rename rather than orphaning.
This commit is contained in:
@@ -660,7 +660,21 @@
|
||||
"discardChangesTitle": "Discard changes?",
|
||||
"discardChangesDescription": "You have unsaved changes. If you leave now, they will be lost.",
|
||||
"keepEditing": "Keep editing",
|
||||
"discardChanges": "Discard changes"
|
||||
"discardChanges": "Discard changes",
|
||||
"batchCookToggle": "This is a batch-cook recipe",
|
||||
"batchCookToggleHelp": "Split this recipe into several dishes cooked together, each with its own storage and reheat guidance.",
|
||||
"dishes": "Dishes",
|
||||
"addDish": "Add dish",
|
||||
"dishName": "Dish name",
|
||||
"dishDescription": "Description",
|
||||
"fridgeDays": "Fridge (days)",
|
||||
"freezerFriendly": "Freezer-friendly",
|
||||
"freezerNote": "Freezer note",
|
||||
"dayOfInstructions": "Day-of instructions",
|
||||
"dishesRequired": "Add at least one dish",
|
||||
"dayOfInstructionsRequired": "Every dish needs day-of instructions",
|
||||
"appliesTo": "Applies to",
|
||||
"sharedPrep": "Shared prep"
|
||||
},
|
||||
"canCook": {
|
||||
"title": "What can I cook?",
|
||||
|
||||
Reference in New Issue
Block a user