From c4bb6028c4c4e1f4ebf70a7ab0a4b3c42007404e Mon Sep 17 00:00:00 2001
From: Dessalines <tyhou13@gmx.com>
Date: Sun, 13 Oct 2019 12:53:41 -0700
Subject: Sort removed and deleted comments at the bottom.

- Fixes #279
---
 ui/src/components/post.tsx | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

(limited to 'ui/src/components/post.tsx')

diff --git a/ui/src/components/post.tsx b/ui/src/components/post.tsx
index 07bddd34..43489327 100644
--- a/ui/src/components/post.tsx
+++ b/ui/src/components/post.tsx
@@ -234,12 +234,19 @@ export class Post extends Component<any, PostState> {
 
   sortTree(tree: Array<CommentNodeI>) {
 
+    // First, put removed and deleted comments at the bottom, then do your other sorts
     if (this.state.commentSort == CommentSortType.Top) {
-      tree.sort((a, b) => b.comment.score - a.comment.score);
+      tree.sort((a, b) => (+a.comment.removed - +b.comment.removed) || 
+                (+a.comment.deleted - +b.comment.deleted ) || 
+                (b.comment.score - a.comment.score));
     } else if (this.state.commentSort == CommentSortType.New) {
-      tree.sort((a, b) => b.comment.published.localeCompare(a.comment.published));
+      tree.sort((a, b) => (+a.comment.removed - +b.comment.removed) || 
+                (+a.comment.deleted - +b.comment.deleted ) || 
+                (b.comment.published.localeCompare(a.comment.published)));
     } else if (this.state.commentSort == CommentSortType.Hot) {
-      tree.sort((a, b) => hotRank(b.comment) - hotRank(a.comment));
+      tree.sort((a, b) => (+a.comment.removed - +b.comment.removed) || 
+                (+a.comment.deleted - +b.comment.deleted ) || 
+                (hotRank(b.comment) - hotRank(a.comment)));
     }
 
     for (let node of tree) {
-- 
cgit v1.2.3

