Hide next paginator.

- Fixes #441
- Hide post sort radio if no comments.
This commit is contained in:
Dessalines 2020-01-19 16:47:54 -05:00
parent 7f0e69e54c
commit 7b7fb0f5d2
4 changed files with 29 additions and 28 deletions

View file

@ -18,6 +18,8 @@ import { T } from 'inferno-i18next';
declare const Sortable: any; declare const Sortable: any;
const communityLimit = 100;
interface CommunitiesState { interface CommunitiesState {
communities: Array<Community>; communities: Array<Community>;
page: number; page: number;
@ -36,14 +38,7 @@ export class Communities extends Component<any, CommunitiesState> {
super(props, context); super(props, context);
this.state = this.emptyState; this.state = this.emptyState;
this.subscription = WebSocketService.Instance.subject this.subscription = WebSocketService.Instance.subject
.pipe( .pipe(retryWhen(errors => errors.pipe(delay(3000), take(10))))
retryWhen(errors =>
errors.pipe(
delay(3000),
take(10)
)
)
)
.subscribe( .subscribe(
msg => this.parseMessage(msg), msg => this.parseMessage(msg),
err => console.error(err), err => console.error(err),
@ -180,12 +175,14 @@ export class Communities extends Component<any, CommunitiesState> {
<T i18nKey="prev">#</T> <T i18nKey="prev">#</T>
</button> </button>
)} )}
<button {this.state.communities.length == communityLimit && (
class="btn btn-sm btn-secondary" <button
onClick={linkEvent(this, this.nextPage)} class="btn btn-sm btn-secondary"
> onClick={linkEvent(this, this.nextPage)}
<T i18nKey="next">#</T> >
</button> <T i18nKey="next">#</T>
</button>
)}
</div> </div>
); );
} }
@ -227,7 +224,7 @@ export class Communities extends Component<any, CommunitiesState> {
refetch() { refetch() {
let listCommunitiesForm: ListCommunitiesForm = { let listCommunitiesForm: ListCommunitiesForm = {
sort: SortType[SortType.TopAll], sort: SortType[SortType.TopAll],
limit: 100, limit: communityLimit,
page: this.state.page, page: this.state.page,
}; };

View file

@ -192,12 +192,14 @@ export class Community extends Component<any, State> {
<T i18nKey="prev">#</T> <T i18nKey="prev">#</T>
</button> </button>
)} )}
<button {this.state.posts.length == fetchLimit && (
class="btn btn-sm btn-secondary" <button
onClick={linkEvent(this, this.nextPage)} class="btn btn-sm btn-secondary"
> onClick={linkEvent(this, this.nextPage)}
<T i18nKey="next">#</T> >
</button> <T i18nKey="next">#</T>
</button>
)}
</div> </div>
); );
} }

View file

@ -480,12 +480,14 @@ export class Main extends Component<any, MainState> {
<T i18nKey="prev">#</T> <T i18nKey="prev">#</T>
</button> </button>
)} )}
<button {this.state.posts.length == fetchLimit && (
class="btn btn-sm btn-secondary" <button
onClick={linkEvent(this, this.nextPage)} class="btn btn-sm btn-secondary"
> onClick={linkEvent(this, this.nextPage)}
<T i18nKey="next">#</T> >
</button> <T i18nKey="next">#</T>
</button>
)}
</div> </div>
); );
} }

View file

@ -178,7 +178,7 @@ export class Post extends Component<any, PostState> {
postId={this.state.post.id} postId={this.state.post.id}
disabled={this.state.post.locked} disabled={this.state.post.locked}
/> />
{this.sortRadios()} {this.state.comments.length > 0 && this.sortRadios()}
{this.commentsTree()} {this.commentsTree()}
</div> </div>
<div class="col-12 col-sm-12 col-md-4"> <div class="col-12 col-sm-12 col-md-4">