summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2020-01-19 16:47:54 -0500
committerDessalines <tyhou13@gmx.com>2020-01-19 16:47:54 -0500
commitac7a4031a809bac9ba958319ad678ea70df8618a (patch)
treef9cacf1123838132e316322034fb51c1665d7db8
parent96c1fceb99f99fbda2464664171ee899e48e03c4 (diff)
Hide next paginator.
- Fixes #441 - Hide post sort radio if no comments.
-rw-r--r--ui/src/components/communities.tsx27
-rw-r--r--ui/src/components/community.tsx14
-rw-r--r--ui/src/components/main.tsx14
-rw-r--r--ui/src/components/post.tsx2
4 files changed, 29 insertions, 28 deletions
diff --git a/ui/src/components/communities.tsx b/ui/src/components/communities.tsx
index 7e4a0ef8..598a5dad 100644
--- a/ui/src/components/communities.tsx
+++ b/ui/src/components/communities.tsx
@@ -18,6 +18,8 @@ import { T } from 'inferno-i18next';
declare const Sortable: any;
+const communityLimit = 100;
+
interface CommunitiesState {
communities: Array<Community>;
page: number;
@@ -36,14 +38,7 @@ export class Communities extends Component<any, CommunitiesState> {
super(props, context);
this.state = this.emptyState;
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),
@@ -180,12 +175,14 @@ export class Communities extends Component<any, CommunitiesState> {
<T i18nKey="prev">#</T>
</button>
)}
- <button
- class="btn btn-sm btn-secondary"
- onClick={linkEvent(this, this.nextPage)}
- >
- <T i18nKey="next">#</T>
- </button>
+ {this.state.communities.length == communityLimit && (
+ <button
+ class="btn btn-sm btn-secondary"
+ onClick={linkEvent(this, this.nextPage)}
+ >
+ <T i18nKey="next">#</T>
+ </button>
+ )}
</div>
);
}
@@ -227,7 +224,7 @@ export class Communities extends Component<any, CommunitiesState> {
refetch() {
let listCommunitiesForm: ListCommunitiesForm = {
sort: SortType[SortType.TopAll],
- limit: 100,
+ limit: communityLimit,
page: this.state.page,
};
diff --git a/ui/src/components/community.tsx b/ui/src/components/community.tsx
index 6bcd88b1..03766bdc 100644
--- a/ui/src/components/community.tsx
+++ b/ui/src/components/community.tsx
@@ -192,12 +192,14 @@ export class Community extends Component<any, State> {
<T i18nKey="prev">#</T>
</button>
)}
- <button
- class="btn btn-sm btn-secondary"
- onClick={linkEvent(this, this.nextPage)}
- >
- <T i18nKey="next">#</T>
- </button>
+ {this.state.posts.length == fetchLimit && (
+ <button
+ class="btn btn-sm btn-secondary"
+ onClick={linkEvent(this, this.nextPage)}
+ >
+ <T i18nKey="next">#</T>
+ </button>
+ )}
</div>
);
}
diff --git a/ui/src/components/main.tsx b/ui/src/components/main.tsx
index 9e7d690d..95eeb1df 100644
--- a/ui/src/components/main.tsx
+++ b/ui/src/components/main.tsx
@@ -480,12 +480,14 @@ export class Main extends Component<any, MainState> {
<T i18nKey="prev">#</T>
</button>
)}
- <button
- class="btn btn-sm btn-secondary"
- onClick={linkEvent(this, this.nextPage)}
- >
- <T i18nKey="next">#</T>
- </button>
+ {this.state.posts.length == fetchLimit && (
+ <button
+ class="btn btn-sm btn-secondary"
+ onClick={linkEvent(this, this.nextPage)}
+ >
+ <T i18nKey="next">#</T>
+ </button>
+ )}
</div>
);
}
diff --git a/ui/src/components/post.tsx b/ui/src/components/post.tsx
index d4869386..c4bfccee 100644
--- a/ui/src/components/post.tsx
+++ b/ui/src/components/post.tsx
@@ -178,7 +178,7 @@ export class Post extends Component<any, PostState> {
postId={this.state.post.id}
disabled={this.state.post.locked}
/>
- {this.sortRadios()}
+ {this.state.comments.length > 0 && this.sortRadios()}
{this.commentsTree()}
</div>
<div class="col-12 col-sm-12 col-md-4">