@shopgate/engage
Version:
Shopgate's ENGAGE library.
6 lines • 762 B
JavaScript
import{produce}from'immer';import{PWA_DID_APPEAR,PWA_DID_DISAPPEAR}from'@shopgate/pwa-common/constants/ActionTypes';var defaultState={webViewVisible:true};/**
* Stores app state
* @param {Object} [state={}] The current state.
* @param {Object} action The action object.
* @returns {Object} The new state.
*/export default function app(){var state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:defaultState;var action=arguments.length>1?arguments[1]:undefined;/* eslint-disable no-param-reassign */var producer=produce(function(draft){switch(action.type){case PWA_DID_APPEAR:{draft.webViewVisible=true;break;}case PWA_DID_DISAPPEAR:{draft.webViewVisible=false;break;}default:break;}});/* eslint-enable no-param-reassign */return producer(state);}