@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) • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importStar(require("react"));
var hooks_1 = require("../app/hooks");
var hooks_2 = require("../hooks");
var slices_1 = require("../slices");
var SignInQr = function (_a) {
var close = _a.close, callback = _a.callback, children = _a.children, listener = _a.listener, cameraScanner = _a.cameraScanner, type = _a.type, imageUrl = _a.imageUrl;
var _b = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _b.signInQr, errorMessageConfig = _b.errorMessage, modalContentConfig = _b.modalContent;
var _c = (0, hooks_2.useSignInQr)(listener, cameraScanner, type, close, callback), handlers = _c.handlers, errMsg = _c.errMsg, scan = _c.scan;
var CameraComponent = (0, react_1.useMemo)(function () { return scan === null || scan === void 0 ? void 0 : scan.camera; }, [scan]);
if (!config)
return null;
return (react_1.default.createElement(react_1.default.Fragment, null,
children({
config: config,
handlers: handlers,
errMsg: errMsg,
imageUrl: imageUrl,
errorMessageConfig: errorMessageConfig,
modalContentConfig: modalContentConfig
}),
(scan === null || scan === void 0 ? void 0 : scan.showScanner) && scan.camera && CameraComponent && (react_1.default.createElement(CameraComponent, null))));
};
exports.default = SignInQr;