diff --git a/frontend/src/Editor/Container.jsx b/frontend/src/Editor/Container.jsx index 416e7a6b0e..10e9e63e23 100644 --- a/frontend/src/Editor/Container.jsx +++ b/frontend/src/Editor/Container.jsx @@ -244,6 +244,8 @@ export const Container = ({ return; } + if (!appDefinition.pages[currentPageId]?.components) return; + const newDefinition = { ...appDefinition, pages: { @@ -251,7 +253,7 @@ export const Container = ({ [currentPageId]: { ...appDefinition.pages[currentPageId], components: { - ...appDefinition.pages[currentPageId].components, + ...appDefinition.pages[currentPageId]?.components, ...boxes, }, }, diff --git a/frontend/src/Editor/Viewer.jsx b/frontend/src/Editor/Viewer.jsx index f8e38250f1..5075d5e7c5 100644 --- a/frontend/src/Editor/Viewer.jsx +++ b/frontend/src/Editor/Viewer.jsx @@ -709,7 +709,18 @@ class ViewerComponent extends React.Component { }; handleEvent = (eventName, events, options) => { - return onEvent(this.getViewerRef(), eventName, events, options, 'view'); + const latestEvents = useAppDataStore.getState().events; + + const filteredEvents = latestEvents.filter((event) => { + const foundEvent = events.find((e) => e.id === event.id); + return foundEvent && foundEvent.name === eventName; + }); + + try { + return onEvent(this.getViewerRef(), eventName, filteredEvents, options, 'view'); + } catch (error) { + console.error(error); + } }; computeCanvasMaxWidth = () => {