@ -5,7 +5,7 @@ import { expandCommunityTimeline } from 'soapbox/actions/timelines';
import { useCommunityStream } from 'soapbox/api/hooks' ;
import PullToRefresh from 'soapbox/components/pull-to-refresh' ;
import { Column } from 'soapbox/components/ui' ;
import { useAppSelector , useAppDispatch , useSettings } from 'soapbox/hooks' ;
import { useAppSelector , useAppDispatch } from 'soapbox/hooks' ;
import Timeline from '../ui/components/timeline' ;
@ -13,26 +13,23 @@ import { SiteBanner } from './components/site-banner';
const LandingTimeline = ( ) = > {
const dispatch = useAppDispatch ( ) ;
const settings = useSettings ( ) ;
const onlyMedia = ! ! settings . getIn ( [ 'community' , 'other' , 'onlyMedia' ] , false ) ;
const next = useAppSelector ( state = > state . timelines . get ( 'community' ) ? . next ) ;
const timelineId = 'community' ;
const handleLoadMore = ( maxId : string ) = > {
dispatch ( expandCommunityTimeline ( { url : next , maxId , onlyMedia } ) ) ;
dispatch ( expandCommunityTimeline ( { url : next , maxId } ) ) ;
} ;
const handleRefresh = ( ) = > {
return dispatch ( expandCommunityTimeline ( { onlyMedia } )) ;
return dispatch ( expandCommunityTimeline ( )) ;
} ;
useCommunityStream ( { onlyMedia } );
useCommunityStream ( );
useEffect ( ( ) = > {
dispatch ( expandCommunityTimeline ( { onlyMedia } )) ;
} , [ onlyMedia ] ) ;
dispatch ( expandCommunityTimeline ( )) ;
} , [ ] ) ;
return (
< Column transparent withHeader = { false } >
@ -43,7 +40,7 @@ const LandingTimeline = () => {
< PullToRefresh onRefresh = { handleRefresh } >
< Timeline
scrollKey = { ` ${ timelineId } _timeline ` }
timelineId = { ` ${ timelineId } ${ onlyMedia ? ':media' : '' } ` }
timelineId = { timelineId }
prefix = 'home'
onLoadMore = { handleLoadMore }
emptyMessage = { < FormattedMessage id = 'empty_column.community' defaultMessage = 'The local timeline is empty. Write something publicly to get the ball rolling!' / > }