@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
24 lines (23 loc) • 1.31 kB
JavaScript
import React, { useMemo } from 'react';
import { useAppSelector } from '../app/hooks';
import { useSignInQr } from '../hooks';
import { selectKioskConfig } from '../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 = useAppSelector(selectKioskConfig), config = _b.signInQr, errorMessageConfig = _b.errorMessage, modalContentConfig = _b.modalContent;
var _c = useSignInQr(listener, cameraScanner, type, close, callback), handlers = _c.handlers, errMsg = _c.errMsg, scan = _c.scan;
var CameraComponent = useMemo(function () { return scan === null || scan === void 0 ? void 0 : scan.camera; }, [scan]);
if (!config)
return null;
return (React.createElement(React.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.createElement(CameraComponent, null))));
};
export default SignInQr;