import { IS_SENDING_CSHIFT_REQUEST, SET_CSHIFT_REQUEST_ERRORS, CLEAR_CSHIFT_REQUEST_ERRORS, SET_CSHIFT_REQUEST_SUCCESS, CLEAR_CSHIFT_REQUEST_SUCCESS, SET_FORM_EMPLOYEE_UUID, SET_FORM_PRICE_UUID, SET_FORM_SHIFT_START_TIME, SET_FORM_SHIFT_DURATION, SET_FORM_SHIFT_NOTE, SET_FORM_SHIFT_DATES, SET_CSHIFT_UUID, SET_CSHIFT_PAGE, SET_CSHIFT_APPROVAL_FILTER, SET_CSHIFT_COMPLETED_FILTER, SET_CSHIFT_PROVIDER_FILTER, SET_CSHIFT_WORKTYPE_FILTER, SET_CLEAR_CSHIFT_STATE } from "../constants/cShift.constants"; const initialState = { isSendingCShiftRequest: false, cShiftRequestErrors: [], cShiftRequestSuccess: "", employeeUUID: "", // Which employee priceUUID: "", // Which price startTime: null, // When does the shift begin? moment instance duration: "", // Duration of shift in minutes note: "", // Optional note shiftDates: {}, // Dates, map of "YYYY-MM-DD" > moment instance cShiftUUID: "", page: 1, approvalFilter: null, completedFilter: null, providerFilter: null, workTypeFilter: null }; function cShiftReducer(state = initialState, action) { switch (action.type) { case IS_SENDING_CSHIFT_REQUEST: return { ...state, isSendingCShiftRequest: action.data }; case SET_CSHIFT_REQUEST_ERRORS: return { ...state, cShiftRequestErrors: action.data }; case CLEAR_CSHIFT_REQUEST_ERRORS: return { ...state, cShiftRequestErrors: [] }; case SET_CSHIFT_REQUEST_SUCCESS: return { ...state, cShiftRequestSuccess: action.data }; case CLEAR_CSHIFT_REQUEST_SUCCESS: return { ...state, cShiftRequestSuccess: "" }; case SET_FORM_EMPLOYEE_UUID: return { ...state, employeeUUID: action.data }; case SET_FORM_PRICE_UUID: return { ...state, priceUUID: action.data }; case SET_FORM_SHIFT_START_TIME: return { ...state, startTime: action.data }; case SET_FORM_SHIFT_DURATION: return { ...state, duration: action.data }; case SET_FORM_SHIFT_NOTE: return { ...state, note: action.data }; case SET_FORM_SHIFT_DATES: return { ...state, shiftDates: action.data }; case SET_CSHIFT_UUID: return { ...state, cShiftUUID: action.data }; case SET_CSHIFT_PAGE: return { ...state, page: action.data }; case SET_CSHIFT_APPROVAL_FILTER: return { ...state, approvalFilter: action.data }; case SET_CSHIFT_COMPLETED_FILTER: return { ...state, completedFilter: action.data }; case SET_CSHIFT_PROVIDER_FILTER: return { ...state, providerFilter: action.data }; case SET_CSHIFT_WORKTYPE_FILTER: return { ...state, workTypeFilter: action.data }; case SET_CLEAR_CSHIFT_STATE: return { ...initialState, page: state.page, approvalFilter: state.approvalFilter, completedFilter: state.completedFilter, providerFilter: state.providerFilter, workTypeFilter: state.workTypeFilter }; default: return state; } } export default cShiftReducer;