diff --git a/src/components/Article/FullArticle.tsx b/src/components/Article/FullArticle.tsx index a8c54c98..0582010d 100644 --- a/src/components/Article/FullArticle.tsx +++ b/src/components/Article/FullArticle.tsx @@ -135,7 +135,7 @@ export const FullArticle = (props: Props) => { const media = createMemo(() => { try { - return JSON.parse(props.article.media) + return JSON.parse(props.article?.media || "[]") } catch { return [] } diff --git a/src/context/connect.tsx b/src/context/connect.tsx index d10d0695..41e1cab6 100644 --- a/src/context/connect.tsx +++ b/src/context/connect.tsx @@ -50,7 +50,7 @@ export const ConnectProvider = (props: { children: JSX.Element }) => { Authorization: token, }, onmessage(event) { - const m: SSEMessage = JSON.parse(event.data) + const m: SSEMessage = JSON.parse(event.data || "{}") console.log('[context.connect] Received message:', m) // Iterate over all registered handlers and call them diff --git a/src/context/editor.tsx b/src/context/editor.tsx index 5700ed05..9d40ec50 100644 --- a/src/context/editor.tsx +++ b/src/context/editor.tsx @@ -72,7 +72,7 @@ const saveDraftToLocalStorage = (formToSave: ShoutForm) => { localStorage.setItem(`shout-${formToSave.shoutId}`, JSON.stringify(formToSave)) } const getDraftFromLocalStorage = (shoutId: number) => { - return JSON.parse(localStorage.getItem(`shout-${shoutId}`) || '') + return JSON.parse(localStorage.getItem(`shout-${shoutId}`) || '{}') } const removeDraftFromLocalStorage = (shoutId: number) => { @@ -105,7 +105,7 @@ export const EditorProvider = (props: { children: JSX.Element }) => { return false } - const parsedMedia = JSON.parse(form.media || '') + const parsedMedia = JSON.parse(form.media || '[]') if (form.layout === 'video' && !parsedMedia[0]) { snackbar?.showSnackbar({ type: 'error',