// eslint-disable-next-line no-use-before-define import * as React from "react"; import Document, { Html, Head, Main, NextScript } from "next/document"; import createEmotionServer from "@emotion/server/create-instance"; import createEmotionCache from "lib/createEmotionCache"; export default class LeafcutterDocument extends Document { render() { return (
); } } LeafcutterDocument.getInitialProps = async (ctx) => { const originalRenderPage = ctx.renderPage; const cache = createEmotionCache(); const { extractCriticalToChunks } = createEmotionServer(cache as any); ctx.renderPage = () => originalRenderPage({ enhanceApp: (App: any) => (props: any) => , }); const initialProps = await Document.getInitialProps(ctx); const emotionStyles = extractCriticalToChunks(initialProps.html); const emotionStyleTags = emotionStyles.styles.map((style) => (