mirror of
https://github.com/LemmyNet/lemmy-ui.git
synced 2024-11-26 14:21:13 +00:00
ui changes for marking comment as read on reply (#454)
* ui changes for marking comment as read on reply * refactor
This commit is contained in:
parent
bcd6d3a078
commit
73af3fd9ee
1 changed files with 35 additions and 0 deletions
|
@ -736,6 +736,37 @@ export class Inbox extends Component<any, InboxState> {
|
|||
data.comment_view.creator.id ==
|
||||
UserService.Instance.myUserInfo.local_user_view.person.id
|
||||
) {
|
||||
// If youre in the unread view, just remove it from the list
|
||||
if (this.state.unreadOrAll == UnreadOrAll.Unread) {
|
||||
this.state.replies = this.state.replies.filter(
|
||||
r => r.comment.id !== data.comment_view.comment.parent_id
|
||||
);
|
||||
this.state.mentions = this.state.mentions.filter(
|
||||
m => m.comment.id !== data.comment_view.comment.parent_id
|
||||
);
|
||||
this.state.combined = this.state.combined.filter(r => {
|
||||
if (this.isMention(r.view))
|
||||
return r.view.comment.id !== data.comment_view.comment.parent_id;
|
||||
else return r.id !== data.comment_view.comment.parent_id;
|
||||
});
|
||||
} else {
|
||||
let mention_found = this.state.mentions.find(
|
||||
i => i.comment.id == data.comment_view.comment.parent_id
|
||||
);
|
||||
if (mention_found) {
|
||||
mention_found.person_mention.read = true;
|
||||
}
|
||||
let reply_found = this.state.replies.find(
|
||||
i => i.comment.id == data.comment_view.comment.parent_id
|
||||
);
|
||||
if (reply_found) {
|
||||
reply_found.comment.read = true;
|
||||
}
|
||||
this.state.combined = this.buildCombined();
|
||||
}
|
||||
this.sendUnreadCount();
|
||||
this.setState(this.state);
|
||||
setupTippy();
|
||||
// TODO this seems wrong, you should be using form_id
|
||||
toast(i18n.t("reply_sent"));
|
||||
}
|
||||
|
@ -794,4 +825,8 @@ export class Inbox extends Component<any, InboxState> {
|
|||
).length
|
||||
);
|
||||
}
|
||||
|
||||
isMention(view: any): view is PersonMentionView {
|
||||
return (view as PersonMentionView).person_mention !== undefined;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue