| |
@@ -1,44 +1,42 @@
|
| |
- import ActionTypes from "../constants"
|
| |
+ import ActionTypes from "./constants"
|
| |
|
| |
const defaultState = {
|
| |
- landing_page: {
|
| |
- blockerbugs: {},
|
| |
- devel: 0,
|
| |
- meetings: [],
|
| |
- schedule: [],
|
| |
- last_qa_meeting: {},
|
| |
- stable: 0,
|
| |
- config_mode: false,
|
| |
- enabled_components: ["events", "blockers", "minutes"],
|
| |
- },
|
| |
- wizard: {
|
| |
- actions: [],
|
| |
- providers: [],
|
| |
- all_actions: [],
|
| |
- },
|
| |
+ blockerbugs: {},
|
| |
+ devel: 0,
|
| |
+ meetings: [],
|
| |
+ schedule: [],
|
| |
+ last_qa_meeting: {},
|
| |
+ stable: 0,
|
| |
+ config_mode: false,
|
| |
+ enabled_components: ["events", "blockers", "minutes"],
|
| |
+ errorMessage: "",
|
| |
}
|
| |
|
| |
- export default (state = defaultState, action) => {
|
| |
+ const LandingPageReducer = (state = defaultState, action) => {
|
| |
switch (action.type) {
|
| |
- case ActionTypes.LOAD_DATA_RESP:
|
| |
+
|
| |
+ case ActionTypes.LOAD_DATA_START:
|
| |
return {
|
| |
...state,
|
| |
- landing_page: action.payload,
|
| |
}
|
| |
-
|
| |
- case ActionTypes.LOAD_WIZARD_DATA_RESP:
|
| |
+
|
| |
+ case ActionTypes.LOAD_DATA_SUCCESS:
|
| |
return {
|
| |
...state,
|
| |
- wizard: {
|
| |
- ...state.wizard,
|
| |
- providers: action.payload.providers,
|
| |
- all_actions: action.payload.actions,
|
| |
- },
|
| |
+ ...action.payload
|
| |
}
|
| |
|
| |
- default:
|
| |
+ case ActionTypes.LOAD_DATA_FAILURE:
|
| |
return {
|
| |
...state,
|
| |
+ errorMessage: action.payload
|
| |
+ }
|
| |
+
|
| |
+ default :
|
| |
+ return {
|
| |
+ ...state
|
| |
}
|
| |
}
|
| |
}
|
| |
+
|
| |
+ export default LandingPageReducer
|
| |
\ No newline at end of file
|
| |
This PR helps to handle asynchronous activity in better way. It is also scalable if you want to use more reducers.
It also fixes the folder structure.