UNPKG

@open-tender/ui

Version:

A component library for use with the Open Tender web app

28 lines (27 loc) 1.99 kB
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;