summaryrefslogtreecommitdiffstats
path: root/ui/src/components/main.tsx
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2019-04-20 11:17:00 -0700
committerDessalines <tyhou13@gmx.com>2019-04-20 11:17:00 -0700
commit682413613e75618489d262bd033c3101da96abd7 (patch)
treef3bc26c1f2c1f75bdfcf7b6e5b22f24e93c7a757 /ui/src/components/main.tsx
parente14e6e53cd969039087df17bc4407d1b7444e05d (diff)
Mostly working, before merge
Diffstat (limited to 'ui/src/components/main.tsx')
-rw-r--r--ui/src/components/main.tsx18
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});
+ }
}