import { handleActions } from 'redux-actions'; import * as actions from '../actions/rewrites'; const rewrites = handleActions( { [actions.getRewritesListRequest]: state => ({ ...state, processing: true }), [actions.getRewritesListFailure]: state => ({ ...state, processing: false }), [actions.getRewritesListSuccess]: (state, { payload }) => { const newState = { ...state, list: payload, processing: false, }; return newState; }, [actions.addRewriteRequest]: state => ({ ...state, processingAdd: true }), [actions.addRewriteFailure]: state => ({ ...state, processingAdd: false }), [actions.addRewriteSuccess]: (state, { payload }) => { const newState = { ...state, list: [...state.list, ...payload], processingAdd: false, }; return newState; }, [actions.deleteRewriteRequest]: state => ({ ...state, processingDelete: true }), [actions.deleteRewriteFailure]: state => ({ ...state, processingDelete: false }), [actions.deleteRewriteSuccess]: state => ({ ...state, processingDelete: false }), [actions.toggleRewritesModal]: (state) => { const newState = { ...state, isModalOpen: !state.isModalOpen, }; return newState; }, }, { processing: true, processingAdd: false, processingDelete: false, isModalOpen: false, list: [], }, ); export default rewrites;