[Glitch] Add option to show only local toots in timeline preview
Port missing changes from 6528c0c101 to glitch-soc
			
			
This commit is contained in:
		
							parent
							
								
									b2a316bc16
								
							
						
					
					
						commit
						89f4e0298c
					
				
					 2 changed files with 84 additions and 2 deletions
				
			
		|  | @ -6,6 +6,7 @@ import { hydrateStore } from 'flavours/glitch/actions/store'; | |||
| import { IntlProvider, addLocaleData } from 'react-intl'; | ||||
| import { getLocale } from 'mastodon/locales'; | ||||
| import PublicTimeline from 'flavours/glitch/features/standalone/public_timeline'; | ||||
| import CommunityTimeline from 'flavours/glitch/features/standalone/community_timeline'; | ||||
| import HashtagTimeline from 'flavours/glitch/features/standalone/hashtag_timeline'; | ||||
| import initialState from 'flavours/glitch/util/initial_state'; | ||||
| 
 | ||||
|  | @ -23,17 +24,24 @@ export default class TimelineContainer extends React.PureComponent { | |||
|   static propTypes = { | ||||
|     locale: PropTypes.string.isRequired, | ||||
|     hashtag: PropTypes.string, | ||||
|     showPublicTimeline: PropTypes.bool.isRequired, | ||||
|   }; | ||||
| 
 | ||||
|   static defaultProps = { | ||||
|     showPublicTimeline: initialState.settings.known_fediverse, | ||||
|   }; | ||||
| 
 | ||||
|   render () { | ||||
|     const { locale, hashtag } = this.props; | ||||
|     const { locale, hashtag, showPublicTimeline } = this.props; | ||||
| 
 | ||||
|     let timeline; | ||||
| 
 | ||||
|     if (hashtag) { | ||||
|       timeline = <HashtagTimeline hashtag={hashtag} />; | ||||
|     } else { | ||||
|     } else if (showPublicTimeline) { | ||||
|       timeline = <PublicTimeline />; | ||||
|     } else { | ||||
|       timeline = <CommunityTimeline />; | ||||
|     } | ||||
| 
 | ||||
|     return ( | ||||
|  |  | |||
|  | @ -0,0 +1,74 @@ | |||
| import React from 'react'; | ||||
| import { connect } from 'react-redux'; | ||||
| import PropTypes from 'prop-types'; | ||||
| import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container'; | ||||
| import { | ||||
|   refreshCommunityTimeline, | ||||
|   expandCommunityTimeline, | ||||
| } from 'flavours/glitch/actions/timelines'; | ||||
| import Column from 'flavours/glitch/components/column'; | ||||
| import ColumnHeader from 'flavours/glitch/components/column_header'; | ||||
| import { defineMessages, injectIntl } from 'react-intl'; | ||||
| import { connectCommunityStream } from 'flavours/glitch/actions/streaming'; | ||||
| 
 | ||||
| const messages = defineMessages({ | ||||
|   title: { id: 'standalone.public_title', defaultMessage: 'A look inside...' }, | ||||
| }); | ||||
| 
 | ||||
| @connect() | ||||
| @injectIntl | ||||
| export default class CommunityTimeline extends React.PureComponent { | ||||
| 
 | ||||
|   static propTypes = { | ||||
|     dispatch: PropTypes.func.isRequired, | ||||
|     intl: PropTypes.object.isRequired, | ||||
|   }; | ||||
| 
 | ||||
|   handleHeaderClick = () => { | ||||
|     this.column.scrollTop(); | ||||
|   } | ||||
| 
 | ||||
|   setRef = c => { | ||||
|     this.column = c; | ||||
|   } | ||||
| 
 | ||||
|   componentDidMount () { | ||||
|     const { dispatch } = this.props; | ||||
| 
 | ||||
|     dispatch(refreshCommunityTimeline()); | ||||
|     this.disconnect = dispatch(connectCommunityStream()); | ||||
|   } | ||||
| 
 | ||||
|   componentWillUnmount () { | ||||
|     if (this.disconnect) { | ||||
|       this.disconnect(); | ||||
|       this.disconnect = null; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   handleLoadMore = () => { | ||||
|     this.props.dispatch(expandCommunityTimeline()); | ||||
|   } | ||||
| 
 | ||||
|   render () { | ||||
|     const { intl } = this.props; | ||||
| 
 | ||||
|     return ( | ||||
|       <Column ref={this.setRef}> | ||||
|         <ColumnHeader | ||||
|           icon='users' | ||||
|           title={intl.formatMessage(messages.title)} | ||||
|           onClick={this.handleHeaderClick} | ||||
|         /> | ||||
| 
 | ||||
|         <StatusListContainer | ||||
|           timelineId='community' | ||||
|           loadMore={this.handleLoadMore} | ||||
|           scrollKey='standalone_public_timeline' | ||||
|           trackScroll={false} | ||||
|         /> | ||||
|       </Column> | ||||
|     ); | ||||
|   } | ||||
| 
 | ||||
| } | ||||
		Loading…
	
		Reference in a new issue