@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
20 lines (19 loc) • 929 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
var hooks_1 = require("../app/hooks");
var slices_1 = require("../slices");
var WAITING_TIME_IN_SECONDS = 15;
var IdleModal = function (_a) {
var close = _a.close, reset = _a.reset, children = _a.children;
var _b = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _b.idleModal, modalContentConfig = _b.modalContent;
var handlers = (0, react_1.useMemo)(function () { return ({ close: close, reset: reset }); }, [close, reset]);
(0, react_1.useEffect)(function () {
var timerId = setTimeout(reset, WAITING_TIME_IN_SECONDS * 1000);
return function () { return clearTimeout(timerId); };
}, [reset]);
if (!config)
return null;
return children({ config: config, modalContentConfig: modalContentConfig, handlers: handlers });
};
exports.default = IdleModal;