Files
shoptime/com.twin.app.shoptime/src/reducers/commonReducer.js
2024-02-13 19:16:40 +09:00

55 lines
1.2 KiB
JavaScript

import { types } from "../actions/actionTypes";
const initialState = {
appStatus: {
showLoadingPanel: { show: true, type: "launching" },
isLoading: true,
webOSVersion:"", //"5.0", "9.0" ...
serverHOST: "", //"US.nextlgsdp.com",
cursorVisible: false
},
httpHeader: null
};
export const commonReducer = (state = initialState, action) => {
switch (action.type) {
case types.CHANGE_APP_STATUS: {
let isUpdated = false;
for (let i in action.payload) {
if (typeof action.payload[i] === "object") {
if (
JSON.stringify(action.payload[i]) !==
JSON.stringify(state.appStatus[i])
) {
isUpdated = true;
break;
}
} else if (state.appStatus[i] !== action.payload[i]) {
isUpdated = true;
break;
}
}
if (isUpdated) {
return {
...state,
appStatus: { ...state.appStatus, ...action.payload },
};
}
return state;
}
case types.GET_HTTP_HEADER:
return {
...state,
httpHeader: action.payload
}
default:
return state;
}
};
export default commonReducer;