When streaming API is disconnected, poll home/notifications (#2776)
* When streaming API is disconnected, poll home/notifications Display slightly different empty home timeline message if user is following others Cull notifications to 20 items when over 40 get added in real-time Run manage:translations * Optimize <HomeTimeline /> a little
This commit is contained in:
		
					parent
					
						
							
								84eb425f38
							
						
					
				
			
			
				commit
				
					
						eddb95b012
					
				
			
		
					 31 changed files with 124 additions and 45 deletions
				
			
		|  | @ -12,18 +12,33 @@ const messages = defineMessages({ | |||
| }); | ||||
| 
 | ||||
| const mapStateToProps = state => ({ | ||||
|   hasUnread: state.getIn(['timelines', 'home', 'unread']) > 0 | ||||
|   hasUnread: state.getIn(['timelines', 'home', 'unread']) > 0, | ||||
|   hasFollows: state.getIn(['accounts_counters', state.getIn(['meta', 'me']), 'following_count']) > 0 | ||||
| }); | ||||
| 
 | ||||
| class HomeTimeline extends React.PureComponent { | ||||
| 
 | ||||
|   render () { | ||||
|     const { intl, hasUnread } = this.props; | ||||
|     const { intl, hasUnread, hasFollows } = this.props; | ||||
| 
 | ||||
|     let emptyMessage; | ||||
| 
 | ||||
|     if (hasFollows) { | ||||
|       emptyMessage = <FormattedMessage id='empty_column.home.inactivity' defaultMessage="Your home feed is empty. If you have been inactive for a while, it will be regenerated for you soon." /> | ||||
|     } else { | ||||
|       emptyMessage = <FormattedMessage id='empty_column.home' defaultMessage="You aren't following anyone yet. Visit {public} or use search to get started and meet other users." values={{ public: <Link to='/timelines/public'><FormattedMessage id='empty_column.home.public_timeline' defaultMessage='the public timeline' /></Link> }} />; | ||||
|     } | ||||
| 
 | ||||
|     return ( | ||||
|       <Column icon='home' active={hasUnread} heading={intl.formatMessage(messages.title)}> | ||||
|         <ColumnSettingsContainer /> | ||||
|         <StatusListContainer {...this.props} scrollKey='home_timeline' type='home' emptyMessage={<FormattedMessage id='empty_column.home' defaultMessage="You aren't following anyone yet. Visit {public} or use search to get started and meet other users." values={{ public: <Link to='/timelines/public'><FormattedMessage id='empty_column.home.public_timeline' defaultMessage='the public timeline' /></Link> }} />} /> | ||||
| 
 | ||||
|         <StatusListContainer | ||||
|           {...this.props} | ||||
|           scrollKey='home_timeline' | ||||
|           type='home' | ||||
|           emptyMessage={emptyMessage} | ||||
|         /> | ||||
|       </Column> | ||||
|     ); | ||||
|   } | ||||
|  | @ -32,7 +47,8 @@ class HomeTimeline extends React.PureComponent { | |||
| 
 | ||||
| HomeTimeline.propTypes = { | ||||
|   intl: PropTypes.object.isRequired, | ||||
|   hasUnread: PropTypes.bool | ||||
|   hasUnread: PropTypes.bool, | ||||
|   hasFollows: PropTypes.bool | ||||
| }; | ||||
| 
 | ||||
| export default connect(mapStateToProps)(injectIntl(HomeTimeline)); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue