diff --git a/ts/util/qrCodes.tsx b/ts/util/qrCodes.tsx index 76da7c742..1c7176533 100644 --- a/ts/util/qrCodes.tsx +++ b/ts/util/qrCodes.tsx @@ -1,4 +1,4 @@ -import { createRoot } from 'react-dom/client'; +import { createRoot, Root } from 'react-dom/client'; import { SessionQRCode, SessionQRCodeProps } from '../components/SessionQRCode'; import { convertIconToImageURL } from '../hooks/useIconToImageURL'; import { UserUtils } from '../session/utils'; @@ -38,9 +38,13 @@ export function prepareQRCodeForLightBox(fileName: string, url: string, onClose? export async function renderQRCode(props: SessionQRCodeProps, filename: string): Promise { let url = ''; + let root: HTMLElement | null = null; + let divElement: HTMLDivElement | null = null; + let reactRoot: Root | null = null; + try { - const root = document.querySelector('#root'); - const divElement = document.createElement('div'); + root = document.querySelector('#root'); + divElement = document.createElement('div'); divElement.style.display = 'none'; root?.appendChild(divElement); @@ -51,7 +55,7 @@ export async function renderQRCode(props: SessionQRCodeProps, filename: string): logoImage = dataUrl; } - const reactRoot = createRoot(divElement!); + reactRoot = createRoot(divElement!); reactRoot.render(