diff --git a/frontend/components/Domain/Recipe/RecipePage/RecipePage.vue b/frontend/components/Domain/Recipe/RecipePage/RecipePage.vue index 46eda6bbc..6a1f9a3d4 100644 --- a/frontend/components/Domain/Recipe/RecipePage/RecipePage.vue +++ b/frontend/components/Domain/Recipe/RecipePage/RecipePage.vue @@ -81,7 +81,7 @@ @@ -278,7 +278,7 @@ async function deleteRecipe() { * View Preferences */ const landscape = computed(() => { - const preferLandscape = recipe.value.settings.landscapeView; + const preferLandscape = recipe.value.settings?.landscapeView; const smallScreen = !$vuetify.display.smAndUp.value; if (preferLandscape) { diff --git a/frontend/components/global/RecipeJsonEditor.vue b/frontend/components/global/RecipeJsonEditor.vue index a90e1e8be..a5d3dc55a 100644 --- a/frontend/components/global/RecipeJsonEditor.vue +++ b/frontend/components/global/RecipeJsonEditor.vue @@ -26,10 +26,10 @@ export default defineComponent({ }, }, emits: ["update:modelValue"], - setup(_, { emit }) { + setup(props, { emit }) { function parseEvent(event: any): object { if (!event) { - return {}; + return props.modelValue || {}; } try { if (event.json) { @@ -43,11 +43,14 @@ export default defineComponent({ } } catch { - return {}; + return props.modelValue || {}; } } function onChange(event: any) { - emit("update:modelValue", parseEvent(event)); + const parsed = parseEvent(event); + if (parsed !== props.modelValue) { + emit("update:modelValue", parsed); + } } return { onChange,