diff options
Diffstat (limited to 'src/store')
| -rw-r--r-- | src/store/actions/userMoments.ts | 17 | ||||
| -rw-r--r-- | src/store/reducers/userMomentsReducer.ts | 12 |
2 files changed, 27 insertions, 2 deletions
diff --git a/src/store/actions/userMoments.ts b/src/store/actions/userMoments.ts index dce8da8a..4d739129 100644 --- a/src/store/actions/userMoments.ts +++ b/src/store/actions/userMoments.ts @@ -1,7 +1,7 @@ import {RootState} from '../rootReducer'; import {loadMoments} from '../../services'; import {Action, ThunkAction} from '@reduxjs/toolkit'; -import {userMomentsFetched} from '../reducers'; +import {userMomentsFetched, momentCategoryDeleted} from '../reducers'; import {getTokenOrLogout} from '../../utils'; export const loadUserMoments = ( @@ -20,3 +20,18 @@ export const loadUserMoments = ( console.log(error); } }; + +export const deleteUserMomentsForCategory = ( + category: string, +): ThunkAction<Promise<void>, RootState, unknown, Action<string>> => async ( + dispatch, +) => { + try { + dispatch({ + type: momentCategoryDeleted.type, + payload: category, + }); + } catch (error) { + console.log(error); + } +}; diff --git a/src/store/reducers/userMomentsReducer.ts b/src/store/reducers/userMomentsReducer.ts index 456ca2fa..97c9a1fd 100644 --- a/src/store/reducers/userMomentsReducer.ts +++ b/src/store/reducers/userMomentsReducer.ts @@ -8,8 +8,18 @@ const userMomentsSlice = createSlice({ userMomentsFetched: (state, action) => { state.moments = action.payload; }, + + momentCategoryDeleted: (state, action) => { + const category = action.payload; + state.moments = state.moments.filter( + (moment) => moment.moment_category !== category, + ); + }, }, }); -export const {userMomentsFetched} = userMomentsSlice.actions; +export const { + userMomentsFetched, + momentCategoryDeleted, +} = userMomentsSlice.actions; export const userMomentsReducer = userMomentsSlice.reducer; |
