API: unique filename for gpx, Client: pagination status
This commit is contained in:
@ -3,8 +3,9 @@ import mpwoApi from '../mwpoApi/activities'
|
||||
import { history } from '../index'
|
||||
import { setError } from './index'
|
||||
|
||||
export const endPagination = () => ({
|
||||
type: 'END_PAGINATION'
|
||||
export const endPagination = status => ({
|
||||
type: 'END_PAGINATION',
|
||||
status,
|
||||
})
|
||||
|
||||
export const pushActivities = activities => ({
|
||||
@ -63,8 +64,9 @@ export const deleteActivity = id => dispatch => mpwoGenericApi
|
||||
.then(ret => {
|
||||
if (ret.status === 204) {
|
||||
history.push('/')
|
||||
}
|
||||
} else {
|
||||
dispatch(setError(`activities: ${ret.status}`))
|
||||
}
|
||||
})
|
||||
.catch(error => dispatch(setError(`activities: ${error}`)))
|
||||
|
||||
@ -87,8 +89,9 @@ export const getMoreActivities = page => dispatch => mpwoGenericApi
|
||||
if (ret.status === 'success') {
|
||||
if (ret.data.activities.length > 0) {
|
||||
dispatch(pushActivities(ret.data.activities))
|
||||
} else {
|
||||
dispatch(endPagination())
|
||||
}
|
||||
if (ret.data.activities.length < 5) {
|
||||
dispatch(endPagination(true))
|
||||
}
|
||||
} else {
|
||||
dispatch(setError(`activities: ${ret.message}`))
|
||||
|
@ -5,7 +5,7 @@ import { connect } from 'react-redux'
|
||||
import ActivityCard from './ActivityCard'
|
||||
import Statistics from './Statistics'
|
||||
import { getData } from '../../actions'
|
||||
import { getMoreActivities } from '../../actions/activities'
|
||||
import { endPagination, getMoreActivities } from '../../actions/activities'
|
||||
|
||||
class DashBoard extends React.Component {
|
||||
constructor(props, context) {
|
||||
@ -19,6 +19,10 @@ class DashBoard extends React.Component {
|
||||
this.props.loadActivities()
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
this.props.resetPaginationStatus(false)
|
||||
}
|
||||
|
||||
render() {
|
||||
const {
|
||||
activities, loadMoreActivities, message, paginationEnd, sports
|
||||
@ -77,6 +81,9 @@ export default connect(
|
||||
sports: state.sports.data,
|
||||
}),
|
||||
dispatch => ({
|
||||
resetPaginationStatus: () => {
|
||||
dispatch(endPagination(false))
|
||||
},
|
||||
loadActivities: () => {
|
||||
dispatch(getData('activities', null, 1))
|
||||
},
|
||||
|
@ -24,7 +24,7 @@ const activities = (state = initial.activities, action) => {
|
||||
case 'END_PAGINATION':
|
||||
return {
|
||||
...state,
|
||||
pagination_end: true
|
||||
pagination_end: action.status
|
||||
}
|
||||
case 'PUSH_ACTIVITIES':
|
||||
return {
|
||||
|
Reference in New Issue
Block a user