summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ui/src/components/community.tsx16
-rw-r--r--ui/src/components/main.tsx18
2 files changed, 16 insertions, 18 deletions
diff --git a/ui/src/components/community.tsx b/ui/src/components/community.tsx
index 712aeb7e..6bcd88b1 100644
--- a/ui/src/components/community.tsx
+++ b/ui/src/components/community.tsx
@@ -89,14 +89,7 @@ export class Community extends Component<any, State> {
this.handleSortChange = this.handleSortChange.bind(this);
this.subscription = WebSocketService.Instance.subject
- .pipe(
- retryWhen(errors =>
- errors.pipe(
- delay(3000),
- take(10)
- )
- )
- )
+ .pipe(retryWhen(errors => errors.pipe(delay(3000), take(10))))
.subscribe(
msg => this.parseMessage(msg),
err => console.error(err),
@@ -154,7 +147,7 @@ export class Community extends Component<any, State> {
)}
</h5>
{this.selects()}
- <PostListings posts={this.state.posts} />
+ {this.state.posts && <PostListings posts={this.state.posts} />}
{this.paginator()}
</div>
<div class="col-12 col-md-4">
@@ -285,6 +278,11 @@ export class Community extends Component<any, State> {
this.setState(this.state);
} else if (op == UserOperation.GetPosts) {
let res: GetPostsResponse = msg;
+
+ // This is needed to refresh the view
+ this.state.posts = undefined;
+ this.setState(this.state);
+
this.state.posts = res.posts;
this.state.loading = false;
this.setState(this.state);
diff --git a/ui/src/components/main.tsx b/ui/src/components/main.tsx
index 373889f9..9e7d690d 100644
--- a/ui/src/components/main.tsx
+++ b/ui/src/components/main.tsx
@@ -112,14 +112,7 @@ export class Main extends Component<any, MainState> {
this.handleTypeChange = this.handleTypeChange.bind(this);
this.subscription = WebSocketService.Instance.subject
- .pipe(
- retryWhen(errors =>
- errors.pipe(
- delay(3000),
- take(10)
- )
- )
- )
+ .pipe(retryWhen(errors => errors.pipe(delay(3000), take(10))))
.subscribe(
msg => this.parseMessage(msg),
err => console.error(err),
@@ -429,7 +422,9 @@ export class Main extends Component<any, MainState> {
) : (
<div>
{this.selects()}
- <PostListings posts={this.state.posts} showCommunity />
+ {this.state.posts && (
+ <PostListings posts={this.state.posts} showCommunity />
+ )}
{this.paginator()}
</div>
)}
@@ -601,6 +596,11 @@ export class Main extends Component<any, MainState> {
this.setState(this.state);
} else if (op == UserOperation.GetPosts) {
let res: GetPostsResponse = msg;
+
+ // This is needed to refresh the view
+ this.state.posts = undefined;
+ this.setState(this.state);
+
this.state.posts = res.posts;
this.state.loading = false;
this.setState(this.state);