1import { Global } from '@emotion/react'; 2import { BlockingSetInitialColorMode } from '@expo/styleguide'; 3import Document, { Html, Head, Main, NextScript, DocumentContext } from 'next/document'; 4 5import { globalDiff } from '~/global-styles/diff'; 6import { globalExtras } from '~/global-styles/extras'; 7import { globalNProgress } from '~/global-styles/nprogress'; 8import { globalPrism } from '~/global-styles/prism'; 9import { globalTippy } from '~/global-styles/tippy'; 10 11export default class DocsDocument extends Document { 12 static async getInitialProps(ctx: DocumentContext) { 13 const initialProps = await Document.getInitialProps(ctx); 14 return { 15 ...initialProps, 16 styles: <>{initialProps.styles}</>, 17 }; 18 } 19 20 render() { 21 return ( 22 <Html lang="en"> 23 <Head> 24 <Global styles={[globalNProgress, globalPrism, globalTippy, globalDiff, globalExtras]} /> 25 </Head> 26 <body> 27 <BlockingSetInitialColorMode /> 28 <Main /> 29 <NextScript /> 30 </body> 31 </Html> 32 ); 33 } 34} 35