fix activity deletion

This commit is contained in:
Sam 2019-01-04 18:31:34 +01:00
parent 7d98e7342b
commit 7627284f0e
2 changed files with 13 additions and 2 deletions

View File

@ -11,6 +11,11 @@ export const pushActivities = activities => ({
activities, activities,
}) })
export const removeActivity = activityId => ({
type: 'REMOVE_ACTIVITY',
activityId,
})
export const updateCalendar = activities => ({ export const updateCalendar = activities => ({
type: 'UPDATE_CALENDAR', type: 'UPDATE_CALENDAR',
activities, activities,
@ -98,8 +103,9 @@ export const deleteActivity = id => dispatch => FitTrackeeGenericApi
.deleteData('activities', id) .deleteData('activities', id)
.then(ret => { .then(ret => {
if (ret.status === 204) { if (ret.status === 204) {
dispatch(loadProfile()) Promise.resolve(dispatch(removeActivity(id))).then(() =>
history.push('/') dispatch(loadProfile())
).then(() => history.push('/'))
} else { } else {
dispatch(setError(`activities: ${ret.status}`)) dispatch(setError(`activities: ${ret.status}`))
} }

View File

@ -25,6 +25,11 @@ const activities = (state = initial.activities, action) => {
...state, ...state,
data: state.data.concat(action.activities), data: state.data.concat(action.activities),
} }
case 'REMOVE_ACTIVITY':
return {
...state,
data: state.data.filter(activity => activity.id !== action.activityId),
}
default: default:
return handleDataAndError(state, 'activities', action) return handleDataAndError(state, 'activities', action)
} }