diff --git a/frontend/src/components/RecipeDetailOverlay.vue b/frontend/src/components/RecipeDetailOverlay.vue
index 3c325c4..ded3695 100644
--- a/frontend/src/components/RecipeDetailOverlay.vue
+++ b/frontend/src/components/RecipeDetailOverlay.vue
@@ -17,7 +17,7 @@
@@ -739,6 +739,14 @@ function addEoRow() {
editIngredients.value.push({ oil: '', drops: 1 })
}
+function goEditInManager() {
+ const r = recipe.value
+ // Store recipe id for manager to pick up
+ localStorage.setItem('oil_edit_recipe_id', String(r._id))
+ emit('close')
+ router.push('/manage')
+}
+
const editPriceInfo = computed(() =>
oilsStore.fmtCostWithRetail(editIngredients.value.filter(i => i.oil))
)
diff --git a/frontend/src/views/RecipeManager.vue b/frontend/src/views/RecipeManager.vue
index 9d93173..0ecafc3 100644
--- a/frontend/src/views/RecipeManager.vue
+++ b/frontend/src/views/RecipeManager.vue
@@ -946,6 +946,13 @@ onMounted(async () => {
if (res.ok) reviewHistory.value = await res.json()
} catch {}
}
+ // Open recipe editor if redirected from card view
+ const editId = localStorage.getItem('oil_edit_recipe_id')
+ if (editId) {
+ localStorage.removeItem('oil_edit_recipe_id')
+ const recipe = recipeStore.recipes.find(r => String(r._id) === editId)
+ if (recipe) editRecipe(recipe)
+ }
})
function editDiaryRecipe(diary) {