import React from "react"; import Document, { Head, Main, NextScript } from "next/document"; import { ServerStyleSheets } from "@material-ui/core/styles"; import "assets/scss/nextjs-material-kit.scss?v=1.1.0"; import theme from "../theme"; class MyDocument extends Document { render() { return ( {/* Fonts and icons */}
); } } MyDocument.getInitialProps = async (ctx) => { const sheets = new ServerStyleSheets(); const originalRenderPage = ctx.renderPage; ctx.renderPage = () => originalRenderPage({ enhanceApp: (App) => (props) => sheets.collect(), }); const initialProps = await Document.getInitialProps(ctx); return { ...initialProps, styles: [ ...React.Children.toArray(initialProps.styles), sheets.getStyleElement(), ], }; }; export default MyDocument;