Always display tab navigation on local/federated timeline even when empty (#7663)

Fix #7659
master
Eugen Rochko 7 years ago committed by GitHub
parent e599d7caf2
commit 90b64c0069
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      app/javascript/mastodon/components/scrollable_list.js
  2. 1
      app/javascript/mastodon/components/status_list.js
  3. 1
      app/javascript/mastodon/features/community_timeline/index.js
  4. 1
      app/javascript/mastodon/features/public_timeline/index.js

@ -25,6 +25,7 @@ export default class ScrollableList extends PureComponent {
isLoading: PropTypes.bool, isLoading: PropTypes.bool,
hasMore: PropTypes.bool, hasMore: PropTypes.bool,
prepend: PropTypes.node, prepend: PropTypes.node,
alwaysPrepend: PropTypes.bool,
emptyMessage: PropTypes.node, emptyMessage: PropTypes.node,
children: PropTypes.node, children: PropTypes.node,
}; };
@ -140,7 +141,7 @@ export default class ScrollableList extends PureComponent {
} }
render () { render () {
const { children, scrollKey, trackScroll, shouldUpdateScroll, isLoading, hasMore, prepend, emptyMessage, onLoadMore } = this.props; const { children, scrollKey, trackScroll, shouldUpdateScroll, isLoading, hasMore, prepend, alwaysPrepend, emptyMessage, onLoadMore } = this.props;
const { fullscreen } = this.state; const { fullscreen } = this.state;
const childrenCount = React.Children.count(children); const childrenCount = React.Children.count(children);
@ -172,9 +173,13 @@ export default class ScrollableList extends PureComponent {
); );
} else { } else {
scrollableArea = ( scrollableArea = (
<div style={{ flex: '1 1 auto', display: 'flex', flexDirection: 'column' }}>
{alwaysPrepend && prepend}
<div className='empty-column-indicator' ref={this.setRef}> <div className='empty-column-indicator' ref={this.setRef}>
{emptyMessage} {emptyMessage}
</div> </div>
</div>
); );
} }

@ -24,6 +24,7 @@ export default class StatusList extends ImmutablePureComponent {
hasMore: PropTypes.bool, hasMore: PropTypes.bool,
prepend: PropTypes.node, prepend: PropTypes.node,
emptyMessage: PropTypes.node, emptyMessage: PropTypes.node,
alwaysPrepend: PropTypes.bool,
}; };
static defaultProps = { static defaultProps = {

@ -127,6 +127,7 @@ export default class CommunityTimeline extends React.PureComponent {
<StatusListContainer <StatusListContainer
prepend={headline} prepend={headline}
alwaysPrepend
trackScroll={!pinned} trackScroll={!pinned}
scrollKey={`community_timeline-${columnId}`} scrollKey={`community_timeline-${columnId}`}
timelineId={`community${onlyMedia ? ':media' : ''}`} timelineId={`community${onlyMedia ? ':media' : ''}`}

@ -127,6 +127,7 @@ export default class PublicTimeline extends React.PureComponent {
<StatusListContainer <StatusListContainer
prepend={headline} prepend={headline}
alwaysPrepend
timelineId={`public${onlyMedia ? ':media' : ''}`} timelineId={`public${onlyMedia ? ':media' : ''}`}
onLoadMore={this.handleLoadMore} onLoadMore={this.handleLoadMore}
trackScroll={!pinned} trackScroll={!pinned}

Loading…
Cancel
Save