summaryrefslogtreecommitdiffstats
path: root/ui/src/components/inbox.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/components/inbox.tsx')
-rw-r--r--ui/src/components/inbox.tsx23
1 files changed, 19 insertions, 4 deletions
diff --git a/ui/src/components/inbox.tsx b/ui/src/components/inbox.tsx
index d4fdf910..6f4d2377 100644
--- a/ui/src/components/inbox.tsx
+++ b/ui/src/components/inbox.tsx
@@ -405,10 +405,25 @@ export class Inbox extends Component<any, InboxState> {
this.sendUnreadCount();
this.setState(this.state);
} else if (res.op == UserOperation.CreateComment) {
- // let res: CommentResponse = msg;
- toast(i18n.t('reply_sent'));
- // this.state.replies.unshift(res.comment); // TODO do this right
- // this.setState(this.state);
+ let data = res.data as CommentResponse;
+
+ if (data.recipient_ids.includes(UserService.Instance.user.id)) {
+ this.state.replies.unshift(data.comment);
+ this.setState(this.state);
+ } else if (data.comment.creator_id == UserService.Instance.user.id) {
+ toast(i18n.t('reply_sent'));
+ }
+ this.setState(this.state);
+ } else if (res.op == UserOperation.CreatePrivateMessage) {
+ let data = res.data as PrivateMessageResponse;
+
+ if (data.message.recipient_id == UserService.Instance.user.id) {
+ this.state.messages.unshift(data.message);
+ this.setState(this.state);
+ } else if (data.message.creator_id == UserService.Instance.user.id) {
+ toast(i18n.t('message_sent'));
+ }
+ this.setState(this.state);
} else if (res.op == UserOperation.SaveComment) {
let data = res.data as CommentResponse;
let found = this.state.replies.find(c => c.id == data.comment.id);