Add sorting by old (date, ascending) to comment frontend

This commit is contained in:
D Anzorge 2020-01-28 19:52:28 +01:00
parent 8849dc07cf
commit 8bcf191a1d
3 changed files with 21 additions and 0 deletions

View file

@ -235,6 +235,18 @@ export class Post extends Component<any, PostState> {
onChange={linkEvent(this, this.handleCommentSortChange)}
/>
</label>
<label
className={`btn btn-sm btn-secondary pointer ${this.state
.commentSort === CommentSortType.Old && 'active'}`}
>
{i18n.t('old')}
<input
type="radio"
value={CommentSortType.Old}
checked={this.state.commentSort === CommentSortType.Old}
onChange={linkEvent(this, this.handleCommentSortChange)}
/>
</label>
</div>
);
}
@ -317,6 +329,13 @@ export class Post extends Component<any, PostState> {
+a.comment.deleted - +b.comment.deleted ||
b.comment.published.localeCompare(a.comment.published)
);
} else if (this.state.commentSort == CommentSortType.Old) {
tree.sort(
(a, b) =>
+a.comment.removed - +b.comment.removed ||
+a.comment.deleted - +b.comment.deleted ||
a.comment.published.localeCompare(b.comment.published)
);
} else if (this.state.commentSort == CommentSortType.Hot) {
tree.sort(
(a, b) =>

View file

@ -47,6 +47,7 @@ export enum CommentSortType {
Hot,
Top,
New,
Old,
}
export enum ListingType {

View file

@ -97,6 +97,7 @@ export const en = {
sort_type: 'Sort type',
hot: 'Hot',
new: 'New',
old: 'Old',
top_day: 'Top day',
week: 'Week',
month: 'Month',