diff --git a/src/ws/handlers/posts.js b/src/ws/handlers/posts.js index ecd3e27980efc90a3f10c4042caa63607415a065..7ef6c3fc5a16d873e5d0e17bb7f10216313f4f4d 100644 --- a/src/ws/handlers/posts.js +++ b/src/ws/handlers/posts.js @@ -3,29 +3,34 @@ import { parseRawPost, updateWindowPosts } from "utils"; export const handleRanking = (payload) => { PostStore.update((state) => { - state.items[payload.id].ranking.likes = payload["ranking_likes"]; - state.items[payload.id].ranking.dislikes = payload["ranking_dislikes"]; - state.items[payload.id].ranking.score = - state.items[payload.id].ranking.likes - - state.items[payload.id].ranking.dislikes; + if (state.items[payload.id]) { + state.items[payload.id].ranking.likes = payload["ranking_likes"]; + state.items[payload.id].ranking.dislikes = payload["ranking_dislikes"]; + state.items[payload.id].ranking.score = + state.items[payload.id].ranking.likes - + state.items[payload.id].ranking.dislikes; - if (state.filters.sort === "byScore") { - updateWindowPosts(state); + if (state.filters.sort === "byScore") { + updateWindowPosts(state); + } } }); }; export const handleChanged = (payload) => { PostStore.update((state) => { - state.items[payload.id].content = payload.content; - state.items[payload.id].modified = true; + if (state.items[payload.id]) { + state.items[payload.id].content = payload.content; + state.items[payload.id].modified = true; + } }); }; export const handleCreated = (payload) => { PostStore.update((state) => { - state.items[payload.id] = parseRawPost(payload); - - updateWindowPosts(state); + if (state.items[payload.id]) { + state.items[payload.id] = parseRawPost(payload); + updateWindowPosts(state); + } }); };