@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
18 lines (17 loc) • 831 B
JavaScript
import { useEffect, useMemo } from 'react';
import { useAppSelector } from '../app/hooks';
import { selectKioskConfig } from '../slices';
var WAITING_TIME_IN_SECONDS = 15;
var IdleModal = function (_a) {
var close = _a.close, reset = _a.reset, children = _a.children;
var _b = useAppSelector(selectKioskConfig), config = _b.idleModal, modalContentConfig = _b.modalContent;
var handlers = useMemo(function () { return ({ close: close, reset: reset }); }, [close, reset]);
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 });
};
export default IdleModal;