@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
36 lines (35 loc) • 2.42 kB
JavaScript
"use strict";
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 slices_1 = require("../slices");
var SignInPhone_1 = tslib_1.__importDefault(require("./SignInPhone"));
var SignInQr_1 = tslib_1.__importDefault(require("./SignInQr"));
var SignInOptionsModal = function (_a) {
var listener = _a.listener, cameraScanner = _a.cameraScanner, close = _a.close, children = _a.children, SignInQrView = _a.SignInQrView, SignInPhoneView = _a.SignInPhoneView, SignUpView = _a.SignUpView, KeypadView = _a.KeypadView, ErrorMessageView = _a.ErrorMessageView, imageUrl = _a.imageUrl;
var _b = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _b.signInOptions, modalContentConfig = _b.modalContent;
var _c = (0, react_1.useState)(null), signInType = _c[0], setSignInType = _c[1];
var terminal = (0, hooks_1.useAppSelector)(slices_1.selectKioskTerminal);
var scannerType = (terminal === null || terminal === void 0 ? void 0 : terminal.pos_scanner_type) || 'NONE';
var handlers = { close: close, setSignInType: setSignInType };
var hasScanner = (0, hooks_1.useAppSelector)(slices_1.selectKioskHasScanner);
(0, react_1.useEffect)(function () {
if (!hasScanner)
setSignInType('PHONE');
}, [hasScanner]);
var renderSignInQr = (0, react_1.useCallback)(function (close) { return (react_1.default.createElement(SignInQr_1.default, { listener: listener, cameraScanner: cameraScanner, close: close, children: SignInQrView, type: scannerType, imageUrl: imageUrl })); }, [SignInQrView, cameraScanner, listener, scannerType, imageUrl]);
var renderSignInPhone = (0, react_1.useCallback)(function (close) { return (react_1.default.createElement(SignInPhone_1.default, { ErrorMessageView: ErrorMessageView, KeypadView: KeypadView, SignUpView: SignUpView, close: close, children: SignInPhoneView })); }, [SignInPhoneView, KeypadView, SignUpView, ErrorMessageView]);
if (!config)
return null;
return children({
config: config,
modalContentConfig: modalContentConfig,
handlers: handlers,
signInType: signInType,
scannerType: scannerType,
renderSignInQr: renderSignInQr,
renderSignInPhone: renderSignInPhone
});
};
exports.default = SignInOptionsModal;