aboutsummaryrefslogtreecommitdiff
path: root/src/store
diff options
context:
space:
mode:
Diffstat (limited to 'src/store')
-rw-r--r--src/store/actions/userMoments.ts17
-rw-r--r--src/store/reducers/userMomentsReducer.ts12
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;