UNPKG

@open-tender/store

Version:

A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API

23 lines (22 loc) 775 B
import { setIsIdle } from '../slices'; var DEFAULT_PAGE_TIMEOUT = 60; var idleTimeout = null; export var idleMiddleware = function (store) { return function (next) { return function (action) { var _a; var result = next(action); if (idleTimeout) { clearTimeout(idleTimeout); } var state = store.getState(); var hasOrder = state.idle.hasOrder; if (hasOrder) { var pageTimeout = (_a = state.kiosk.store) === null || _a === void 0 ? void 0 : _a.page_timeout; if (!pageTimeout) return; var timeout = pageTimeout > 0 ? pageTimeout : DEFAULT_PAGE_TIMEOUT; idleTimeout = setTimeout(function () { store.dispatch(setIsIdle(true)); }, timeout * 1000); } return result; }; }; };