@shopgate/engage
Version:
Shopgate's ENGAGE library.
6 lines • 1.12 kB
JavaScript
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import{HIDE_PUSH_OPT_IN_MODAL,SHOW_PUSH_OPT_IN_MODAL}from"../constants";var defaultState={triggerType:null,isPushOptInModalVisible:false};/**
* Stores all the states related to the push Opt-In Modal functionality.
* @param {Object} [state] The current state.
* @param {Object} action The action object.
* @return {Object} The new state.
*/var pushOptInModalReducer=function pushOptInModalReducer(){var state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:defaultState;var action=arguments.length>1?arguments[1]:undefined;switch(action.type){case SHOW_PUSH_OPT_IN_MODAL:{return _extends({},state,{triggerType:action.triggerType,isPushOptInModalVisible:true});}case HIDE_PUSH_OPT_IN_MODAL:{return _extends({},state,{triggerType:null,isPushOptInModalVisible:false});}default:return state;}};export default pushOptInModalReducer;