|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import Document, {Html, Head, Main, NextScript} from 'next/document';
- import {ServerStyleSheet} from 'styled-components';
-
- export default class MyDocument extends Document {
- static async getInitialProps(ctx) {
- const sheet = new ServerStyleSheet();
- const originalRenderPage = ctx.renderPage;
-
- try {
- ctx.renderPage = () =>
- originalRenderPage({
- enhanceApp: (App) => (props) =>
- sheet.collectStyles(
- <App
- {...props}
- />,
- ),
- });
-
- const initialProps = await Document.getInitialProps(ctx);
-
- return {
- ...initialProps,
- styles: (
- <>
- {initialProps.styles}
- {sheet.getStyleElement()}
- </>
- ),
- };
- } catch (err) {
- console.error(err);
- } finally {
- sheet.seal();
- }
- }
-
- render() {
- return (
- <Html
- lang="en-PH"
- >
- <Head />
- <body>
- <Main />
- <NextScript />
- </body>
- </Html>
- );
- }
- }
|