Files
imexmobile/redux/timetickets/timetickets.reducer.js
2023-05-15 02:36:35 -04:00

71 lines
2.1 KiB
JavaScript

import TimeTicketsActionTypes from "./timetickets.types";
const INITIAL_STATE = {
ttjobid:null,
timeticketjobid: null,
timeTicketJob: null,
uploadTimeTicketInProgress: false,
uploadTimeTicketError: null,
clockingIn: false,
clockingInError: null,
clockingOut: false,
clockingOutError: null,
};
const timeTicketsReducer = (state = INITIAL_STATE, action) => {
switch (action.type) {
case TimeTicketsActionTypes.SET_TIME_TICKET:
return {
...state,
timeTicket: action.payload
};
case TimeTicketsActionTypes.SET_TIME_TICKET_JOB_ID:
return { ...state,timeticketjobid: action.payload };
case TimeTicketsActionTypes.SET_TIME_TICKET_JOB:
return {
...state,
timeTicketJob: action.payload
};
case TimeTicketsActionTypes.TIME_TICKET_CREATE_START:
return {...state,uploadTimeTicketInProgress: true};
case TimeTicketsActionTypes.TIME_TICKET_CREATE_SUCCESS:
return {...state,
uploadTimeTicketInProgress: false,
uploadTimeTicketError: null,
};
case TimeTicketsActionTypes.TIME_TICKET_CREATE_FAILURE:
return {...state,
uploadTimeTicketInProgress: false,
uploadTimeTicketError: action.payload,
};
case TimeTicketsActionTypes.TIME_TICKET_CLOCKIN_START:
return {...state,clockingIn: true};
case TimeTicketsActionTypes.TIME_TICKET_CLOCKIN_SUCCESS:
return {...state,
clockingIn: false,
clockingInError: null,
};
case TimeTicketsActionTypes.TIME_TICKET_CLOCKIN_FAILURE:
return {...state,
clockingIn: false,
clockingInError: action.payload,
};
case TimeTicketsActionTypes.TIME_TICKET_CLOCKOUT_START:
return {...state,clockingOut: true};
case TimeTicketsActionTypes.TIME_TICKET_CLOCKOUT_SUCCESS:
return {...state,
clockingOut: false,
clockingOutError: null,
};
case TimeTicketsActionTypes.TIME_TICKET_CLOCKOUT_FAILURE:
return {...state,
clockingOut: false,
clockingOutError: action.payload,
};
default:
return state;
}
};
export default timeTicketsReducer;