Files
imexmobile/redux/photos/photos.reducer.js
2025-10-10 11:34:11 -07:00

40 lines
966 B
JavaScript

import PhotosActionTypes from "./photos.types";
const INITIAL_STATE = {
photos: [],
uploadInProgress: false,
uploadError: null,
jobid: null,
progress: {}
};
const photosReducer = (state = INITIAL_STATE, action) => {
switch (action.type) {
case PhotosActionTypes.MEDIA_UPLOAD_START:
return {
...state,
photos: action.payload.photos,
jobid: action.payload.jobid,
uploadInProgress: true,
uploadError: null,
progress: {}
};
case PhotosActionTypes.MEDIA_UPLOAD_FAILURE:
return {
...state,
uploadInProgress: false,
uploadError: action.payload,
};
case PhotosActionTypes.MEDIA_UPLOAD_PROGRESS_UPDATE_ONE:
return {
...state,
progress: { ...state.progress, [action.payload.assetId]: { ...state.progress[action.payload.assetId], ...action.payload } }
};
default:
return state;
}
};
export default photosReducer;