diff --git a/ui/src/components/post.tsx b/ui/src/components/post.tsx index 07bddd3..4348932 100644 --- a/ui/src/components/post.tsx +++ b/ui/src/components/post.tsx @@ -234,12 +234,19 @@ export class Post extends Component { sortTree(tree: Array) { + // 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) {