diff options
author | Dessalines <tyhou13@gmx.com> | 2019-04-20 11:17:00 -0700 |
---|---|---|
committer | Dessalines <tyhou13@gmx.com> | 2019-04-20 11:17:00 -0700 |
commit | 682413613e75618489d262bd033c3101da96abd7 (patch) | |
tree | f3bc26c1f2c1f75bdfcf7b6e5b22f24e93c7a757 /ui/src/components/main.tsx | |
parent | e14e6e53cd969039087df17bc4407d1b7444e05d (diff) |
Mostly working, before merge
Diffstat (limited to 'ui/src/components/main.tsx')
-rw-r--r-- | ui/src/components/main.tsx | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/ui/src/components/main.tsx b/ui/src/components/main.tsx index 01c70f94..e3d6f844 100644 --- a/ui/src/components/main.tsx +++ b/ui/src/components/main.tsx @@ -2,7 +2,7 @@ import { Component } from 'inferno'; import { Link } from 'inferno-router'; import { Subscription } from "rxjs"; import { retryWhen, delay, take } from 'rxjs/operators'; -import { UserOperation, CommunityUser, GetFollowedCommunitiesResponse, ListCommunitiesForm, ListCommunitiesResponse, Community, SortType, GetSiteResponse } from '../interfaces'; +import { UserOperation, CommunityUser, GetFollowedCommunitiesResponse, ListCommunitiesForm, ListCommunitiesResponse, Community, SortType, GetSiteResponse, GetRepliesResponse, GetRepliesForm } from '../interfaces'; import { WebSocketService, UserService } from '../services'; import { PostListings } from './post-listings'; import { msgOp, repoUrl, mdToHtml } from '../utils'; @@ -55,6 +55,15 @@ export class Main extends Component<any, State> { if (UserService.Instance.user) { WebSocketService.Instance.getFollowedCommunities(); + + // Get replies for the count + let repliesForm: GetRepliesForm = { + sort: SortType[SortType.New], + unread_only: true, + page: 1, + limit: 9999, + }; + WebSocketService.Instance.getReplies(repliesForm); } let listCommunitiesForm: ListCommunitiesForm = { @@ -176,7 +185,14 @@ export class Main extends Component<any, State> { this.state.site.site = res.site; this.state.site.banned = res.banned; this.setState(this.state); + } else if (op == UserOperation.GetReplies) { + let res: GetRepliesResponse = msg; + this.sendRepliesCount(res); } } + + sendRepliesCount(res: GetRepliesResponse) { + UserService.Instance.sub.next({user: UserService.Instance.user, unreadCount: res.replies.filter(r => !r.read).length}); + } } |