// import React from "react";
// import NextDocument, { Html, Head, Main, NextScript } from "next/document";
// import { ServerStyleSheet } from "styled-components";
//
// class Document extends NextDocument {
//  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 NextDocument.getInitialProps(ctx)
//       return {
//         ...initialProps,
//         styles: (
//           <>
//             {initialProps.styles}
//             {sheet.getStyleElement()}
//           </>
//         )
//       }
//     } finally {
//       sheet.seal()
//     }
//   }
//
//   render() {
//     return (
//       <Html>
//         <Head>
//           <meta name="viewport" content="width=device-width, initial-scale=1" />
//           <meta title="Blockstack UI" />
//           <link
//             rel="icon"
//             type="image/png"
//             sizes="96x96"
//             href="../../public/static/favicon.png"
//           />
//           <meta name="theme-color" content="#319795" />
//         </Head>
//         <body>
//           <Main />
//           <NextScript />
//         </body>
//       </Html>
//     );
//   }
// }
//
// export default Document;

import Document 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()}
          </>
        ),
      }
    } finally {
      sheet.seal()
    }
  }
}
