trc-client-core
Version:
The core of the TRC Client
33 lines (26 loc) • 808 B
JavaScript
import {
COURSE_PARTICIPATION_FETCH,
COURSE_PARTICIPATION_RECEIVE,
COURSE_PARTICIPATION_ERROR
} from 'trc-client-core/src/constants/ActionTypes';
import {Map} from 'immutable';
const initialState = Map({
fetching: false
});
export default function courseParticipation(state = initialState, action) {
switch (action.type) {
case COURSE_PARTICIPATION_FETCH:
return state
.set('fetching', true);
case COURSE_PARTICIPATION_RECEIVE:
return state
.merge(action.payload)
.set('fetching', false);
case COURSE_PARTICIPATION_ERROR:
return state
.set('fetching', false)
.set('error', action.payload);
default:
return state;
}
}