|
@@ -0,0 +1,36 @@
|
|
|
+import { createReducer } from '../utils/reducer'
|
|
|
+import { REQUEST_START, REQUEST_OK, REQUEST_KO } from '../constants/ActionTypes'
|
|
|
+
|
|
|
+const initialState = {
|
|
|
+ isVisible: false
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ *
|
|
|
+ * @param {*} visibilityState
|
|
|
+ * @param {*} action
|
|
|
+ */
|
|
|
+const setSpinnerVisibility = (visibilityState, action) => {
|
|
|
+ return true
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ *
|
|
|
+ */
|
|
|
+const spinnerVisibilityReducer = createReducer(false, {
|
|
|
+ [REQUEST_START]: setSpinnerVisibility,
|
|
|
+ [REQUEST_OK]: setSpinnerVisibility,
|
|
|
+ [REQUEST_KO]: setSpinnerVisibility
|
|
|
+})
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ *
|
|
|
+ * @param {*} state
|
|
|
+ * @param {*} payload
|
|
|
+ */
|
|
|
+export const spinner = (state = initialState, action) => {
|
|
|
+ return {
|
|
|
+ isVisible: spinnerVisibilityReducer(state.isVisible, action)
|
|
|
+ }
|
|
|
+}
|