import ActionTypes from '../constants/actionTypes';
import Immutable, { Map } from 'immutable';

/**
 */
export const loadingReducer = (state = Map({ status:false }), action) => {
  switch (action.type) {
    // starten met laden...
    case ActionTypes.ACTIVATE_USER:
    case ActionTypes.CHANGEPASSWORD_USER:
    case ActionTypes.DELETE_USER:
    case ActionTypes.GET_CONTRACT:
    case ActionTypes.GET_CONTRACTS:
    case ActionTypes.GET_CURRENT_SPOTS:
    case ActionTypes.GET_INVOICE:
    case ActionTypes.GET_INVOICES:
    case ActionTypes.GET_ORDER:
    case ActionTypes.GET_ORDERS:
    case ActionTypes.GET_ORGANISATIONLIST:
    case ActionTypes.GET_RATECARD_INFO:
    case ActionTypes.GET_SPOTS:
    case ActionTypes.GET_UMBRACO_PAGE:
    case ActionTypes.GET_UMBRACO_PERSON:
    case ActionTypes.GET_USER:
    case ActionTypes.GET_USERLIST:
    case ActionTypes.LOGIN_CHECK_TOKEN:
    case ActionTypes.LOGIN_USER:
    case ActionTypes.NEWPASSWORD_USER:
    case ActionTypes.SAVE_USER:
      return Map({status: true});

    // klaar met laden!
    case '@@INIT':
    case '@@redux/INIT':
    case ActionTypes.ACTIVATE_USER_ERROR:
    case ActionTypes.ACTIVATE_USER_SUCCESS:
    case ActionTypes.CHANGEPASSWORD_USER_ERROR:
    case ActionTypes.CHANGEPASSWORD_USER_SUCCESS:
    case ActionTypes.DELETE_USER_ERROR:
    case ActionTypes.DELETE_USER_SUCCESS:
    case ActionTypes.GET_CONTRACT_ERROR:
    case ActionTypes.GET_CONTRACT_SUCCESS:
    case ActionTypes.GET_CONTRACTS_ERROR:
    case ActionTypes.GET_CONTRACTS_SUCCESS:
    case ActionTypes.GET_CURRENT_SPOTS_ERROR:
    case ActionTypes.GET_CURRENT_SPOTS_SUCCESS:
    case ActionTypes.GET_INVOICE_ERROR:
    case ActionTypes.GET_INVOICE_SUCCESS:
    case ActionTypes.GET_INVOICES_ERROR:
    case ActionTypes.GET_INVOICES_SUCCESS:
    case ActionTypes.GET_ORDER_ERROR:
    case ActionTypes.GET_ORDER_SUCCESS:
    case ActionTypes.GET_ORDERS_ERROR:
    case ActionTypes.GET_ORDERS_SUCCESS:
    case ActionTypes.GET_ORGANISATIONLIST_ERROR:
    case ActionTypes.GET_ORGANISATIONLIST_SUCCESS:
    case ActionTypes.GET_RATECARD_INFO_ERROR:
    case ActionTypes.GET_RATECARD_INFO_SUCCESS:
    case ActionTypes.GET_SPOTS_ERROR:
    case ActionTypes.GET_SPOTS_SUCCESS:
    case ActionTypes.GET_UMBRACO_PAGE_ERROR:
    case ActionTypes.GET_UMBRACO_PAGE_SUCCESS:
    case ActionTypes.GET_UMBRACO_PERSON_ERROR:
    case ActionTypes.GET_UMBRACO_PERSON_SUCCESS:
    case ActionTypes.GET_USER_ERROR:
    case ActionTypes.GET_USER_RESET:
    case ActionTypes.GET_USER_SUCCESS:
    case ActionTypes.GET_USERLIST_ERROR:
    case ActionTypes.GET_USERLIST_SUCCESS:
    case ActionTypes.LOGIN_CHECK_TOKEN_SUCCESS:
    case ActionTypes.LOGIN_USER_ERROR:
    case ActionTypes.LOGIN_USER_PINCODE:
    case ActionTypes.LOGIN_USER_SUCCESS:
    case ActionTypes.LOGOUT_USER:
    case ActionTypes.NEWPASSWORD_USER_ERROR:
    case ActionTypes.NEWPASSWORD_USER_SUCCESS:
    case ActionTypes.SAVE_USER_ERROR:
    case ActionTypes.SAVE_USER_SUCCESS:
      return Map({status: false});
    default:
      return state;
  }
};
