@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
JavaScript
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;
}; }; };