import { renderToString } from 'react-dom/server'; import createCache from '@emotion/cache'; import { extractCritical } from '@emotion/server'; import { OpenSansFontLink } from '../constants'; import { PaperTemplateLayout } from '../components/PaperTemplateLayout'; export const renderSSR = (children: React.ReactNode) => { const key = 'invoice-paper-template'; const cache = createCache({ key }); const renderedHtml = renderToString( {children} ); const extractedHtml = extractCritical(renderedHtml); return ` Invoice ${OpenSansFontLink}
${extractedHtml.html}
`; };