strapi-plugin-config-sync/admin/src/state/reducers/Config/index.js

40 lines
937 B
JavaScript
Raw Normal View History

2021-03-20 00:54:18 +01:00
/**
*
* Main reducer
*
*/
2021-11-20 19:06:01 +01:00
import { fromJS, Map, List } from 'immutable';
2021-12-08 16:05:45 +01:00
import {
SET_CONFIG_DIFF_IN_STATE,
SET_CONFIG_PARTIAL_DIFF_IN_STATE,
SET_LOADING_STATE,
SET_APP_ENV_IN_STATE,
} from '../../actions/Config';
2021-03-20 00:54:18 +01:00
const initialState = fromJS({
2021-03-24 18:41:03 +01:00
configDiff: Map({}),
2021-11-20 19:06:01 +01:00
partialDiff: List([]),
2021-03-21 17:55:14 +01:00
isLoading: false,
2021-12-08 16:05:45 +01:00
appEnv: 'development',
});
2021-03-20 00:54:18 +01:00
export default function configReducer(state = initialState, action) {
switch (action.type) {
2021-03-24 18:41:03 +01:00
case SET_CONFIG_DIFF_IN_STATE:
return state
2021-11-20 19:06:01 +01:00
.update('configDiff', () => fromJS(action.config));
case SET_CONFIG_PARTIAL_DIFF_IN_STATE:
return state
.update('partialDiff', () => fromJS(action.config));
2021-03-21 17:55:14 +01:00
case SET_LOADING_STATE:
return state
2021-11-20 19:06:01 +01:00
.update('isLoading', () => fromJS(action.value));
2021-12-08 16:05:45 +01:00
case SET_APP_ENV_IN_STATE:
return state
.update('appEnv', () => fromJS(action.value));
2021-03-20 00:54:18 +01:00
default:
return state;
}
2021-11-20 19:06:01 +01:00
}