]> cat aescling's git repositories - mastodon.git/commitdiff
[Glitch] Fix mutes, blocks, domain blocks and follow requests not paginating
authorEugen Rochko <eugen@zeonfederated.com>
Sat, 16 Feb 2019 10:56:09 +0000 (11:56 +0100)
committerThibG <thib@sitedethib.com>
Sun, 21 Jul 2019 18:57:42 +0000 (20:57 +0200)
Port ea7ad59af20af2aa6817b3b40dca34c8fba3373a  to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
app/javascript/flavours/glitch/features/blocks/index.js
app/javascript/flavours/glitch/features/domain_blocks/index.js
app/javascript/flavours/glitch/features/follow_requests/index.js
app/javascript/flavours/glitch/features/mutes/index.js

index e995fb31f44030827b7791980efa52bcdba6a5b0..1a7206f802e3b0fd36a5d4b0fbfa351507c3a8a6 100644 (file)
@@ -18,6 +18,7 @@ const messages = defineMessages({
 
 const mapStateToProps = state => ({
   accountIds: state.getIn(['user_lists', 'blocks', 'items']),
+  hasMore: !!state.getIn(['user_lists', 'blocks', 'next']),
 });
 
 @connect(mapStateToProps)
@@ -28,6 +29,7 @@ export default class Blocks extends ImmutablePureComponent {
     params: PropTypes.object.isRequired,
     dispatch: PropTypes.func.isRequired,
     accountIds: ImmutablePropTypes.list,
+    hasMore: PropTypes.bool,
     intl: PropTypes.object.isRequired,
   };
 
@@ -45,7 +47,7 @@ export default class Blocks extends ImmutablePureComponent {
   }
 
   render () {
-    const { intl, accountIds } = this.props;
+    const { intl, accountIds, hasMore } = this.props;
 
     if (!accountIds) {
       return (
@@ -63,6 +65,7 @@ export default class Blocks extends ImmutablePureComponent {
         <ScrollableList
           scrollKey='blocks'
           onLoadMore={this.handleLoadMore}
+          hasMore={hasMore}
           shouldUpdateScroll={this.shouldUpdateScroll}
           emptyMessage={emptyMessage}
         >
index 8b54961392ffd3c7d8c0eba344762aec02aa23d7..f7d93a48ef85035e17abe9328240de845edbb98d 100644 (file)
@@ -19,6 +19,7 @@ const messages = defineMessages({
 
 const mapStateToProps = state => ({
   domains: state.getIn(['domain_lists', 'blocks', 'items']),
+  hasMore: !!state.getIn(['domain_lists', 'blocks', 'next']),
 });
 
 @connect(mapStateToProps)
@@ -28,6 +29,7 @@ export default class Blocks extends ImmutablePureComponent {
   static propTypes = {
     params: PropTypes.object.isRequired,
     dispatch: PropTypes.func.isRequired,
+    hasMore: PropTypes.bool,
     domains: ImmutablePropTypes.list,
     intl: PropTypes.object.isRequired,
   };
@@ -41,7 +43,7 @@ export default class Blocks extends ImmutablePureComponent {
   }, 300, { leading: true });
 
   render () {
-    const { intl, domains } = this.props;
+    const { intl, domains, hasMore } = this.props;
 
     if (!domains) {
       return (
@@ -59,6 +61,7 @@ export default class Blocks extends ImmutablePureComponent {
         <ScrollableList
           scrollKey='domain_blocks'
           onLoadMore={this.handleLoadMore}
+          hasMore={hasMore}
           emptyMessage={emptyMessage}
         >
           {domains.map(domain =>
index 8c2e70ca40398c05a9db1d8e9bd789f5da7f596f..eacf1e0ac95a4354075c0c8f612d3bf96f9ec6a7 100644 (file)
@@ -18,6 +18,7 @@ const messages = defineMessages({
 
 const mapStateToProps = state => ({
   accountIds: state.getIn(['user_lists', 'follow_requests', 'items']),
+  hasMore: !!state.getIn(['user_lists', 'follow_requests', 'next']),
 });
 
 @connect(mapStateToProps)
@@ -27,6 +28,7 @@ export default class FollowRequests extends ImmutablePureComponent {
   static propTypes = {
     params: PropTypes.object.isRequired,
     dispatch: PropTypes.func.isRequired,
+    hasMore: PropTypes.bool,
     accountIds: ImmutablePropTypes.list,
     intl: PropTypes.object.isRequired,
   };
@@ -45,7 +47,7 @@ export default class FollowRequests extends ImmutablePureComponent {
   }
 
   render () {
-    const { intl, accountIds } = this.props;
+    const { intl, accountIds, hasMore } = this.props;
 
     if (!accountIds) {
       return (
@@ -64,6 +66,7 @@ export default class FollowRequests extends ImmutablePureComponent {
         <ScrollableList
           scrollKey='follow_requests'
           onLoadMore={this.handleLoadMore}
+          hasMore={hasMore}
           shouldUpdateScroll={this.shouldUpdateScroll}
           emptyMessage={emptyMessage}
         >
index c398395e842207cf1dcd85261f7e17cb8f89ea88..35c15deec8cad751a8d351cc208a31be989eb72f 100644 (file)
@@ -18,6 +18,7 @@ const messages = defineMessages({
 
 const mapStateToProps = state => ({
   accountIds: state.getIn(['user_lists', 'mutes', 'items']),
+  hasMore: !!state.getIn(['user_lists', 'mutes', 'next']),
 });
 
 @connect(mapStateToProps)
@@ -27,6 +28,7 @@ export default class Mutes extends ImmutablePureComponent {
   static propTypes = {
     params: PropTypes.object.isRequired,
     dispatch: PropTypes.func.isRequired,
+    hasMore: PropTypes.bool,
     accountIds: ImmutablePropTypes.list,
     intl: PropTypes.object.isRequired,
   };
@@ -45,7 +47,7 @@ export default class Mutes extends ImmutablePureComponent {
   }
 
   render () {
-    const { intl, accountIds } = this.props;
+    const { intl, accountIds, hasMore } = this.props;
 
     if (!accountIds) {
       return (
@@ -63,6 +65,7 @@ export default class Mutes extends ImmutablePureComponent {
         <ScrollableList
           scrollKey='mutes'
           onLoadMore={this.handleLoadMore}
+          hasMore={hasMore}
           shouldUpdateScroll={this.shouldUpdateScroll}
           emptyMessage={emptyMessage}
         >