diff --git a/src/component/elements/export/ExportContent.tsx b/src/component/elements/export/ExportContent.tsx index 6994c831e8..8caca0ad69 100644 --- a/src/component/elements/export/ExportContent.tsx +++ b/src/component/elements/export/ExportContent.tsx @@ -1,6 +1,6 @@ import type { ExportSettings } from '@zakodium/nmrium-core'; import type { ReactNode } from 'react'; -import { useCallback, useEffect, useRef, useState } from 'react'; +import { useState } from 'react'; import { createPortal } from 'react-dom'; import { ExportOptionsModal } from './ExportOptionsModal.js'; @@ -10,8 +10,6 @@ import { INITIAL_BASIC_EXPORT_OPTIONS } from './utilities/getExportOptions.js'; import { getSizeInPixel } from './utilities/getSizeInPixel.js'; import { transferDocumentStyles } from './utilities/transferDocumentStyles.js'; -const isFirefox = navigator.userAgent.toLowerCase().includes('firefox'); - export interface BaseExportProps { onExportOptionsChange: (options: ExportSettings) => void; defaultExportOptions?: ExportSettings; @@ -107,25 +105,15 @@ function InnerPrintFrame(props: InnerExportFrameProps) { const { children, exportOptions, onExportReady, renderOptions } = props; const { width, height } = getSizeInPixel(exportOptions); - const frameRef = useRef(null); - const [content, setContent] = useState(); - - const load = useCallback(() => { - const contentWindow = frameRef.current?.contentWindow; - if (!contentWindow) return; - const document = contentWindow.document; - - setContent(document.body); + const [iframeDocument, setIframeDocument] = useState(); + function refHandler(frame: HTMLIFrameElement | null) { + if (!frame) return; + const document = frame.contentWindow?.document; + if (!document) return; + setIframeDocument(document); transferDocumentStyles(document); - return contentWindow; - }, []); - - useEffect(() => { - if (!isFirefox) { - load(); - } - }, [load]); + } const exportWidthInPixel = Math.round(width); const exportHeightInPixel = Math.round(height); @@ -151,26 +139,18 @@ function InnerPrintFrame(props: InnerExportFrameProps) { exportHeight={exportHeightInPixel} >