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

27 lines (26 loc) 931 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.idleMiddleware = void 0; var slices_1 = require("../slices"); var DEFAULT_PAGE_TIMEOUT = 60; var idleTimeout = null; 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((0, slices_1.setIsIdle)(true)); }, timeout * 1000); } return result; }; }; }; exports.idleMiddleware = idleMiddleware;