55 lines
1.2 KiB
JavaScript
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;
|