|  | @@ -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)
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |