diff options
Diffstat (limited to 'ui/src/components/navbar.tsx')
-rw-r--r-- | ui/src/components/navbar.tsx | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/ui/src/components/navbar.tsx b/ui/src/components/navbar.tsx index 81124f77..849822af 100644 --- a/ui/src/components/navbar.tsx +++ b/ui/src/components/navbar.tsx @@ -15,9 +15,10 @@ import { GetSiteResponse, Comment, PrivateMessage, + WebSocketJsonResponse, } from '../interfaces'; import { - msgOp, + wsJsonToRes, pictshareAvatarThumbnail, showAvatars, fetchLimit, @@ -199,17 +200,17 @@ export class Navbar extends Component<any, NavbarState> { i.setState(i.state); } - parseMessage(msg: any) { - let op: UserOperation = msgOp(msg); - if (msg.error) { - if (msg.error == 'not_logged_in') { + parseMessage(msg: WebSocketJsonResponse) { + let res = wsJsonToRes(msg); + if (res.error) { + if (res.error == 'not_logged_in') { UserService.Instance.logout(); location.reload(); } return; - } else if (op == UserOperation.GetReplies) { - let res: GetRepliesResponse = msg; - let unreadReplies = res.replies.filter(r => !r.read); + } else if (res.op == UserOperation.GetReplies) { + let data = res.data as GetRepliesResponse; + let unreadReplies = data.replies.filter(r => !r.read); if ( unreadReplies.length > 0 && this.state.fetchCount > 1 && @@ -221,9 +222,9 @@ export class Navbar extends Component<any, NavbarState> { this.state.replies = unreadReplies; this.setState(this.state); this.sendUnreadCount(); - } else if (op == UserOperation.GetUserMentions) { - let res: GetUserMentionsResponse = msg; - let unreadMentions = res.mentions.filter(r => !r.read); + } else if (res.op == UserOperation.GetUserMentions) { + let data = res.data as GetUserMentionsResponse; + let unreadMentions = data.mentions.filter(r => !r.read); if ( unreadMentions.length > 0 && this.state.fetchCount > 1 && @@ -235,9 +236,9 @@ export class Navbar extends Component<any, NavbarState> { this.state.mentions = unreadMentions; this.setState(this.state); this.sendUnreadCount(); - } else if (op == UserOperation.GetPrivateMessages) { - let res: PrivateMessagesResponse = msg; - let unreadMessages = res.messages.filter(r => !r.read); + } else if (res.op == UserOperation.GetPrivateMessages) { + let data = res.data as PrivateMessagesResponse; + let unreadMessages = data.messages.filter(r => !r.read); if ( unreadMessages.length > 0 && this.state.fetchCount > 1 && @@ -249,12 +250,12 @@ export class Navbar extends Component<any, NavbarState> { this.state.messages = unreadMessages; this.setState(this.state); this.sendUnreadCount(); - } else if (op == UserOperation.GetSite) { - let res: GetSiteResponse = msg; + } else if (res.op == UserOperation.GetSite) { + let data = res.data as GetSiteResponse; - if (res.site) { - this.state.siteName = res.site.name; - WebSocketService.Instance.site = res.site; + if (data.site) { + this.state.siteName = data.site.name; + WebSocketService.Instance.site = data.site; this.setState(this.state); } } |