]> cat aescling's git repositories - mastodon.git/commitdiff
Fix followers/follows layout issues from #8418 (#8505)
authorJakub Mendyk <jakubmendyk.szkola+git@gmail.com>
Tue, 28 Aug 2018 23:19:58 +0000 (01:19 +0200)
committerEugen Rochko <eugen@zeonfederated.com>
Tue, 28 Aug 2018 23:19:58 +0000 (01:19 +0200)
* Add alwaysShowScrollbar prop to ScrollableList

* Fix followers/follows layout issues from #8418

app/javascript/mastodon/components/scrollable_list.js
app/javascript/mastodon/features/followers/index.js
app/javascript/mastodon/features/following/index.js

index 4b433f32c38d953ced4786b2d601084d20dfefd0..5c888650c3713352198d4e30d7447a3f94d6237a 100644 (file)
@@ -26,6 +26,7 @@ export default class ScrollableList extends PureComponent {
     hasMore: PropTypes.bool,
     prepend: PropTypes.node,
     alwaysPrepend: PropTypes.bool,
+    alwaysShowScrollbar: PropTypes.bool,
     emptyMessage: PropTypes.node,
     children: PropTypes.node,
   };
@@ -141,7 +142,7 @@ export default class ScrollableList extends PureComponent {
   }
 
   render () {
-    const { children, scrollKey, trackScroll, shouldUpdateScroll, isLoading, hasMore, prepend, alwaysPrepend, emptyMessage, onLoadMore } = this.props;
+    const { children, scrollKey, trackScroll, shouldUpdateScroll, isLoading, hasMore, prepend, alwaysPrepend, alwaysShowScrollbar, emptyMessage, onLoadMore } = this.props;
     const { fullscreen } = this.state;
     const childrenCount = React.Children.count(children);
 
@@ -172,11 +173,13 @@ export default class ScrollableList extends PureComponent {
         </div>
       );
     } else {
+      const scrollable = alwaysShowScrollbar;
+
       scrollableArea = (
-        <div style={{ flex: '1 1 auto', display: 'flex', flexDirection: 'column' }}>
+        <div className={classNames({ scrollable, fullscreen })} ref={this.setRef} style={{ flex: '1 1 auto', display: 'flex', flexDirection: 'column' }}>
           {alwaysPrepend && prepend}
 
-          <div className='empty-column-indicator' ref={this.setRef}>
+          <div className='empty-column-indicator'>
             {emptyMessage}
           </div>
         </div>
index 5eb05367ef1db76ca5634154f4d6c7a23f48a251..97d59cc4ac59d7be507376b31745ec313197a172 100644 (file)
@@ -66,13 +66,14 @@ export default class Followers extends ImmutablePureComponent {
       <Column>
         <ColumnBackButton />
 
-        <HeaderContainer accountId={this.props.params.accountId} hideTabs />
-
         <ScrollableList
           scrollKey='followers'
           hasMore={hasMore}
           onLoadMore={this.handleLoadMore}
           shouldUpdateScroll={shouldUpdateScroll}
+          prepend={<HeaderContainer accountId={this.props.params.accountId} hideTabs />}
+          alwaysPrepend
+          alwaysShowScrollbar
           emptyMessage={emptyMessage}
         >
           {accountIds.map(id =>
index 95e786882adf2f26431049e93dcab4d6e231650b..17bc7ec6ed9165dffc9462158481ec4f503f4bd6 100644 (file)
@@ -66,13 +66,14 @@ export default class Following extends ImmutablePureComponent {
       <Column>
         <ColumnBackButton />
 
-        <HeaderContainer accountId={this.props.params.accountId} hideTabs />
-
         <ScrollableList
           scrollKey='following'
           hasMore={hasMore}
           onLoadMore={this.handleLoadMore}
           shouldUpdateScroll={shouldUpdateScroll}
+          prepend={<HeaderContainer accountId={this.props.params.accountId} hideTabs />}
+          alwaysPrepend
+          alwaysShowScrollbar
           emptyMessage={emptyMessage}
         >
           {accountIds.map(id =>