import React, { useState } from 'react'; import Spinner from '../primitives/Spinner'; import createPDF from '../utils/create-pdf'; import { MainButton } from '../primitives/Button'; import { trackEvent } from '../utils/tracking'; import { ExportButtonWrapper } from '../primitives/Export'; type Props = { pdfServiceUrl: string, localStorageKey: string, pageHeading?: string, } export default function PDFButton({ localStorageKey, pageHeading, pdfServiceUrl, }: Props) { const [isDownloading, setIsDownloading] = useState(false); const [errorMessage, setErrorMessage] = useState(false); const handleClick = () => { if (isDownloading) { return; } setIsDownloading(true); setErrorMessage(false); trackEvent('Last ned PDF', pageHeading); createPDF(pdfServiceUrl, localStorageKey) .then(() => { setErrorMessage(false); }) .catch(() => { setErrorMessage(true) }) .finally(() => { setIsDownloading(false); }) } return ( {isDownloading ? 'Lager PDF.../index' : 'Lagre som PDF'} {errorMessage &&

Noe gikk galt. Prøv igjen.

}
); }