import CopyToClipboard from 'react-copy-to-clipboard'; import {useState, useEffect} from 'react'; import {QRCodeSVG} from 'qrcode.react'; import clsx from 'clsx'; import {useRequestStatus} from '../contexts/request-status-context'; import {removeProtocol} from '../util/link'; import Icon from '../components/Icon'; import styles from './ResponseBody.module.scss'; export type ProcessedRequestProperties = { error: boolean | null; message: string; }; function ResponseBody() { const [{error, message}] = useRequestStatus(); const [copied, setCopied] = useState(false); const [QRView, setQRView] = useState(false); // reset copy message useEffect(() => { let timer: ReturnType | null = null; timer = setTimeout(() => { setCopied(false); }, 1300); return (): void => { if (timer) { clearTimeout(timer); } }; }, [copied]); return ( <>
{!error ? ( <> { return setQRView(!QRView); }} /> {!copied ? ( { return setCopied(true); }} > ) : ( )} { return setCopied(true); }} >

{removeProtocol(message)}

) : (

{message}

)}
{!error && QRView && (
)} ); } export default ResponseBody;