@open-tender/ui
Version:
A component library for use with the Open Tender web app
28 lines (27 loc) • 1.99 kB
JavaScript
import { ScanQrCode } from 'iconoir-react';
import React from 'react';
import { makeProps } from '../utils';
import Button from './Button';
import ErrorMessage from './ErrorMessage';
import Image from './Image';
import ModalContent from './ModalContent';
import View from './View';
// const disconnected =
// 'Cannot connect to Barcode Scanner. Please check the connection.'
const notFound = "We couldn't find your account. Please try again.";
const SignInQr = ({ config, handlers, imageUrl, errMsg, errorMessageConfig, modalContentConfig }) => {
const { signInQr__title, signInQr__subtitle } = config;
const title = signInQr__title.props.text || 'Scan QR Code';
const subtitle = signInQr__subtitle.props.text ||
'Please find the scanner below and scan your QR Code.';
const errorMessage = (errMsg === null || errMsg === void 0 ? void 0 : errMsg.includes('exist')) ? notFound : errMsg;
return (React.createElement(ModalContent, { config: modalContentConfig, title: title, subtitle: subtitle, cancel: handlers.close },
React.createElement(View, Object.assign({}, makeProps(config, 'signInQr__content')),
imageUrl ? (React.createElement(View, Object.assign({}, makeProps(config, 'signInQr__imageContainer')),
React.createElement(Image, Object.assign({}, makeProps(config, 'signInQr__image'), { src: imageUrl })))) : (React.createElement(View, Object.assign({}, makeProps(config, 'signInQr__phone')),
React.createElement(ScanQrCode, { width: 120, height: 120, strokeWidth: 1 }))),
errorMessage && (React.createElement(View, Object.assign({}, makeProps(config, 'signInQr__error')),
React.createElement(ErrorMessage, Object.assign({ config: errorMessageConfig }, makeProps(config, 'signInQr__errorMessage')), errorMessage),
React.createElement(Button, Object.assign({}, makeProps(config, 'signInQr__retry'), { onClick: handlers.retry })))))));
};
export default SignInQr;