diff --git a/src/Resources/src/components/menu/MenuDay.vue b/src/Resources/src/components/menu/MenuDay.vue index ac5a6a4f6..7ad8ed984 100644 --- a/src/Resources/src/components/menu/MenuDay.vue +++ b/src/Resources/src/components/menu/MenuDay.vue @@ -47,9 +47,7 @@ v-model="selectedEventOne" class="col-start-2 row-span-1 row-start-3 border-b border-t-[3px] px-2 py-[12px] md:px-4" /> - @@ -168,18 +166,40 @@ watch(selectedDishTwo, () => { }); watch(selectedEventOne, () => { - if (selectedEventOne.value !== null && selectedEventOne.value !== undefined) { - props.modelValue.event = selectedEventOne.value.id; - } else { - props.modelValue.event = null; + try { + const firstKey = Object.keys(props.modelValue.events)[0] ?? selectedEventOne.value?.id; + + if (selectedEventOne.value) { + selectedDishes.value.events[firstKey] = { + eventId: selectedEventOne.value.id, + eventSlug: selectedEventOne.value.slug, + eventTitle: selectedEventOne.value.title, + isPublic: selectedEventOne.value.public + }; + } else if (firstKey) { + selectedDishes.value.events[firstKey].eventId = null; + } + } catch (error) { + console.error('Fehler: ', error); } }); watch(selectedEventTwo, () => { - if (selectedEventTwo.value !== null && selectedEventTwo.value !== undefined) { - props.modelValue.event = selectedEventTwo.value.id; - } else { - props.modelValue.event = null; + try { + const secondKey = Object.keys(props.modelValue.events)[1] ?? selectedEventTwo.value?.id; + + if (selectedEventTwo.value) { + selectedDishes.value.events[secondKey] = { + eventId: selectedEventTwo.value.id, + eventSlug: selectedEventTwo.value.slug, + eventTitle: selectedEventTwo.value.title, + isPublic: selectedEventTwo.value.public + }; + } else if (secondKey) { + selectedDishes.value.events[secondKey].eventId = null; + } + } catch (error) { + console.error('Fehler: ', error); } }); @@ -196,10 +216,29 @@ onMounted(() => { .filter((slug) => slug !== null) as string[] ); - // set Event from modelValue to be the initial value of the selectedEvent - selectedEventOne.value = getEventById(props.modelValue.event); - // set Event from modelValue to be the initial value of the selectedEvent - selectedEventTwo.value = getEventById(props.modelValue.event); + try { + const firstKey = Object.keys(props.modelValue.events)[0]; + const secondKey = Object.keys(props.modelValue.events)[1]; + + if (props.modelValue.events[firstKey]) { + selectedEventOne.value = { + id: props.modelValue.events[firstKey].eventId as number, + slug: props.modelValue.events[firstKey].eventSlug as string, + title: props.modelValue.events[firstKey].eventTitle as string, + public: props.modelValue.events[firstKey].isPublic as boolean + }; + } + if (props.modelValue.events[secondKey]) { + selectedEventTwo.value = { + id: props.modelValue.events[secondKey].eventId as number, + slug: props.modelValue.events[secondKey].eventSlug as string, + title: props.modelValue.events[secondKey].eventTitle as string, + public: props.modelValue.events[secondKey].isPublic as boolean + }; + } + } catch (error) { + console.error('Fehler beim Laden der Events: ', error); + } });