canape/frontend/js/reducers/polochon.js
Grégoire Delattre 4b26080193
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Update redux state management
Use immer with native javascript objects instead of immutablejs.
2020-04-07 18:22:26 +02:00

35 lines
815 B
JavaScript

import { produce } from "immer";
const defaultState = {
loadingPublic: false,
loadingManaged: false,
public: [],
managed: [],
};
export default (state = defaultState, action) =>
produce(state, (draft) => {
switch (action.type) {
case "PUBLIC_POLOCHON_LIST_FETCH_PENDING":
draft.loadingPublic = true;
break;
case "PUBLIC_POLOCHON_LIST_FETCH_FULFILLED":
draft.loadingPublic = false;
draft.public = action.payload.response.data;
break;
case "MANAGED_POLOCHON_LIST_FETCH_PENDING":
draft.loadingManaged = true;
break;
case "MANAGED_POLOCHON_LIST_FETCH_FULFILLED":
draft.loadingManaged = false;
draft.managed = action.payload.response.data;
break;
default:
return draft;
}
});