]> Untitled Git - lemmy.git/commitdiff
Adding if found to catch errors.
authorDessalines <tyhou13@gmx.com>
Wed, 5 Feb 2020 19:24:35 +0000 (14:24 -0500)
committerDessalines <tyhou13@gmx.com>
Wed, 5 Feb 2020 19:24:35 +0000 (14:24 -0500)
ui/src/components/community.tsx
ui/src/components/main.tsx
ui/src/components/post.tsx

index 0fa8f7b5304204133aa0e74faf8fe33329b94516..069f9158daad250494a01ae3a8409f4c7ec60f46 100644 (file)
@@ -283,12 +283,12 @@ export class Community extends Component<any, State> {
     } else if (res.op == UserOperation.EditPost) {
       let data = res.data as PostResponse;
       let found = this.state.posts.find(c => c.id == data.post.id);
-
-      found.url = data.post.url;
-      found.name = data.post.name;
-      found.nsfw = data.post.nsfw;
-
-      this.setState(this.state);
+      if (found) {
+        found.url = data.post.url;
+        found.name = data.post.name;
+        found.nsfw = data.post.nsfw;
+        this.setState(this.state);
+      }
     } else if (res.op == UserOperation.CreatePost) {
       let data = res.data as PostResponse;
       this.state.posts.unshift(data.post);
@@ -296,16 +296,16 @@ export class Community extends Component<any, State> {
     } else if (res.op == UserOperation.CreatePostLike) {
       let data = res.data as PostResponse;
       let found = this.state.posts.find(c => c.id == data.post.id);
-
-      found.score = data.post.score;
-      found.upvotes = data.post.upvotes;
-      found.downvotes = data.post.downvotes;
-      if (data.post.my_vote !== null) {
-        found.my_vote = data.post.my_vote;
-        found.upvoteLoading = false;
-        found.downvoteLoading = false;
+      if (found) {
+        found.score = data.post.score;
+        found.upvotes = data.post.upvotes;
+        found.downvotes = data.post.downvotes;
+        if (data.post.my_vote !== null) {
+          found.my_vote = data.post.my_vote;
+          found.upvoteLoading = false;
+          found.downvoteLoading = false;
+        }
       }
-
       this.setState(this.state);
     } else if (res.op == UserOperation.AddModToCommunity) {
       let data = res.data as AddModToCommunityResponse;
index 0970381b5ab85dfee267a0a9455e0431a137f8d6..161f5df45261e54accafce1761212987468b9ea6 100644 (file)
@@ -590,26 +590,27 @@ export class Main extends Component<any, MainState> {
     } else if (res.op == UserOperation.EditPost) {
       let data = res.data as PostResponse;
       let found = this.state.posts.find(c => c.id == data.post.id);
+      if (found) {
+        found.url = data.post.url;
+        found.name = data.post.name;
+        found.nsfw = data.post.nsfw;
 
-      found.url = data.post.url;
-      found.name = data.post.name;
-      found.nsfw = data.post.nsfw;
-
-      this.setState(this.state);
+        this.setState(this.state);
+      }
     } else if (res.op == UserOperation.CreatePostLike) {
       let data = res.data as PostResponse;
       let found = this.state.posts.find(c => c.id == data.post.id);
-
-      found.score = data.post.score;
-      found.upvotes = data.post.upvotes;
-      found.downvotes = data.post.downvotes;
-      if (data.post.my_vote !== null) {
-        found.my_vote = data.post.my_vote;
-        found.upvoteLoading = false;
-        found.downvoteLoading = false;
+      if (found) {
+        found.score = data.post.score;
+        found.upvotes = data.post.upvotes;
+        found.downvotes = data.post.downvotes;
+        if (data.post.my_vote !== null) {
+          found.my_vote = data.post.my_vote;
+          found.upvoteLoading = false;
+          found.downvoteLoading = false;
+        }
+        this.setState(this.state);
       }
-
-      this.setState(this.state);
     } else if (res.op == UserOperation.AddAdmin) {
       let data = res.data as AddAdminResponse;
       this.state.siteRes.admins = data.admins;
index b399d3b28c38fc91006988c34a583a4753fc6567..922fc01ead1c05c5730121a50bab5d1e38de2565 100644 (file)
@@ -409,33 +409,39 @@ export class Post extends Component<any, PostState> {
     } else if (res.op == UserOperation.EditComment) {
       let data = res.data as CommentResponse;
       let found = this.state.comments.find(c => c.id == data.comment.id);
-      found.content = data.comment.content;
-      found.updated = data.comment.updated;
-      found.removed = data.comment.removed;
-      found.deleted = data.comment.deleted;
-      found.upvotes = data.comment.upvotes;
-      found.downvotes = data.comment.downvotes;
-      found.score = data.comment.score;
-      found.read = data.comment.read;
+      if (found) {
+        found.content = data.comment.content;
+        found.updated = data.comment.updated;
+        found.removed = data.comment.removed;
+        found.deleted = data.comment.deleted;
+        found.upvotes = data.comment.upvotes;
+        found.downvotes = data.comment.downvotes;
+        found.score = data.comment.score;
+        found.read = data.comment.read;
 
-      this.setState(this.state);
+        this.setState(this.state);
+      }
     } else if (res.op == UserOperation.SaveComment) {
       let data = res.data as CommentResponse;
       let found = this.state.comments.find(c => c.id == data.comment.id);
-      found.saved = data.comment.saved;
-      this.setState(this.state);
+      if (found) {
+        found.saved = data.comment.saved;
+        this.setState(this.state);
+      }
     } else if (res.op == UserOperation.CreateCommentLike) {
       let data = res.data as CommentResponse;
       let found: Comment = this.state.comments.find(
         c => c.id === data.comment.id
       );
-      found.score = data.comment.score;
-      found.upvotes = data.comment.upvotes;
-      found.downvotes = data.comment.downvotes;
-      if (data.comment.my_vote !== null) {
-        found.my_vote = data.comment.my_vote;
-        found.upvoteLoading = false;
-        found.downvoteLoading = false;
+      if (found) {
+        found.score = data.comment.score;
+        found.upvotes = data.comment.upvotes;
+        found.downvotes = data.comment.downvotes;
+        if (data.comment.my_vote !== null) {
+          found.my_vote = data.comment.my_vote;
+          found.upvoteLoading = false;
+          found.downvoteLoading = false;
+        }
       }
       this.setState(this.state);
     } else if (res.op == UserOperation.CreatePostLike) {