[groups] Change default sorts for groups and groups collection
This commit is contained in:
parent
1c647b0b06
commit
3f6e8a62fd
|
@ -25,7 +25,7 @@ import GroupsCollection from './groups_collection'
|
|||
class GroupCollectionTimeline extends React.PureComponent {
|
||||
|
||||
state = {
|
||||
//keep track of page loads for if no user,
|
||||
//keep track of page loads for if no user,
|
||||
//only allow MIN_UNAUTHENTICATED_PAGES page loads before showing sign up msg
|
||||
page: 1,
|
||||
}
|
||||
|
@ -39,8 +39,8 @@ class GroupCollectionTimeline extends React.PureComponent {
|
|||
|
||||
if (this.props.collectionType === 'featured' && sortByValue !== GROUP_TIMELINE_SORTING_TYPE_HOT) {
|
||||
this.props.setFeaturedTop()
|
||||
} else if (!!me && this.props.collectionType === 'member' && sortByValue !== GROUP_TIMELINE_SORTING_TYPE_NEWEST) {
|
||||
this.props.setMemberNewest()
|
||||
} else if (!!me && this.props.collectionType === 'member' && sortByValue !== GROUP_TIMELINE_SORTING_TYPE_HOT) {
|
||||
this.props.setMemberHot()
|
||||
} else {
|
||||
const sortBy = getSortBy(sortByValue, sortByTopValue)
|
||||
this.props.onExpandGroupCollectionTimeline(collectionType, { sortBy })
|
||||
|
@ -48,7 +48,7 @@ class GroupCollectionTimeline extends React.PureComponent {
|
|||
}
|
||||
|
||||
componentDidUpdate(prevProps) {
|
||||
if (prevProps.sortByValue !== this.props.sortByValue ||
|
||||
if (prevProps.sortByValue !== this.props.sortByValue ||
|
||||
prevProps.sortByTopValue !== this.props.sortByTopValue ||
|
||||
prevProps.collectionType !== this.props.collectionType) {
|
||||
this.props.onClearTimeline(`group_collection:${prevProps.collectionType}`)
|
||||
|
@ -63,7 +63,7 @@ class GroupCollectionTimeline extends React.PureComponent {
|
|||
sortByTopValue,
|
||||
} = this.props
|
||||
const { page } = this.state
|
||||
|
||||
|
||||
const newPage = !!maxId ? this.state.page + 1 : 1
|
||||
if (!!maxId && !me && page >= MIN_UNAUTHENTICATED_PAGES) return false
|
||||
this.setState({ page: newPage })
|
||||
|
@ -73,7 +73,7 @@ class GroupCollectionTimeline extends React.PureComponent {
|
|||
|
||||
this.props.onExpandGroupCollectionTimeline(collectionType, options)
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
const {
|
||||
collectionType,
|
||||
|
@ -141,6 +141,9 @@ const mapDispatchToProps = (dispatch) => ({
|
|||
setMemberNewest() {
|
||||
dispatch(setGroupTimelineSort(GROUP_TIMELINE_SORTING_TYPE_NEWEST))
|
||||
},
|
||||
setMemberHot() {
|
||||
dispatch(setGroupTimelineSort(GROUP_TIMELINE_SORTING_TYPE_HOT))
|
||||
},
|
||||
})
|
||||
|
||||
GroupCollectionTimeline.propTypes = {
|
||||
|
@ -156,4 +159,4 @@ GroupCollectionTimeline.propTypes = {
|
|||
hasStatuses: PropTypes.bool.isRequired,
|
||||
}
|
||||
|
||||
export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(GroupCollectionTimeline))
|
||||
export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(GroupCollectionTimeline))
|
||||
|
|
|
@ -14,10 +14,12 @@ import {
|
|||
} from '../actions/timelines'
|
||||
import {
|
||||
setGroupTimelineSort,
|
||||
setGroupTimelineTopSort,
|
||||
} from '../actions/groups'
|
||||
import {
|
||||
MIN_UNAUTHENTICATED_PAGES,
|
||||
GROUP_TIMELINE_SORTING_TYPE_NEWEST,
|
||||
GROUP_TIMELINE_SORTING_TYPE_TOP_OPTION_WEEKLY,
|
||||
} from '../constants'
|
||||
import StatusList from '../components/status_list'
|
||||
import ColumnIndicator from '../components/column_indicator'
|
||||
|
@ -26,11 +28,11 @@ import GroupSortBlock from '../components/group_sort_block'
|
|||
class GroupTimeline extends ImmutablePureComponent {
|
||||
|
||||
state = {
|
||||
//keep track of page loads for if no user,
|
||||
//keep track of page loads for if no user,
|
||||
//only allow MIN_UNAUTHENTICATED_PAGES page loads before showing sign up msg
|
||||
page: 1,
|
||||
}
|
||||
|
||||
|
||||
componentDidMount() {
|
||||
const {
|
||||
groupId,
|
||||
|
@ -40,8 +42,8 @@ class GroupTimeline extends ImmutablePureComponent {
|
|||
isDeckConnected,
|
||||
} = this.props
|
||||
|
||||
if (sortByValue !== GROUP_TIMELINE_SORTING_TYPE_NEWEST) {
|
||||
this.props.setMemberNewest()
|
||||
if (sortByValue !== GROUP_TIMELINE_SORTING_TYPE_TOP_OPTION_WEEKLY) {
|
||||
this.props.setMemberTopWeekly()
|
||||
} else {
|
||||
const sortBy = getSortBy(sortByValue, sortByTopValue, onlyMedia)
|
||||
|
||||
|
@ -74,11 +76,11 @@ class GroupTimeline extends ImmutablePureComponent {
|
|||
onlyMedia,
|
||||
} = this.props
|
||||
const { page } = this.state
|
||||
|
||||
|
||||
const newPage = !!maxId ? this.state.page + 1 : 1
|
||||
if (!!maxId && !me && page >= MIN_UNAUTHENTICATED_PAGES) return false
|
||||
this.setState({ page: newPage })
|
||||
|
||||
|
||||
const sortBy = getSortBy(sortByValue, sortByTopValue)
|
||||
this.props.onExpandGroupTimeline(groupId, {
|
||||
sortBy,
|
||||
|
@ -146,6 +148,9 @@ const mapDispatchToProps = (dispatch) => ({
|
|||
setMemberNewest() {
|
||||
dispatch(setGroupTimelineSort(GROUP_TIMELINE_SORTING_TYPE_NEWEST))
|
||||
},
|
||||
setMemberTopWeekly() {
|
||||
dispatch(setGroupTimelineTopSort(GROUP_TIMELINE_SORTING_TYPE_TOP_OPTION_WEEKLY))
|
||||
},
|
||||
onExpandGroupFeaturedTimeline(groupId) {
|
||||
dispatch(expandGroupFeaturedTimeline(groupId))
|
||||
},
|
||||
|
@ -168,4 +173,4 @@ GroupTimeline.propTypes = {
|
|||
onlyMedia: PropTypes.bool,
|
||||
}
|
||||
|
||||
export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(GroupTimeline))
|
||||
export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(GroupTimeline))
|
||||
|
|
Loading…
Reference in New Issue