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)} onChange={linkEvent(this, this.handleCommentSortChange)}
/> />
</label> </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> </div>
); );
} }
@ -317,6 +329,13 @@ export class Post extends Component<any, PostState> {
+a.comment.deleted - +b.comment.deleted || +a.comment.deleted - +b.comment.deleted ||
b.comment.published.localeCompare(a.comment.published) 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) { } else if (this.state.commentSort == CommentSortType.Hot) {
tree.sort( tree.sort(
(a, b) => (a, b) =>

View file

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

View file

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