aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/pages/_document.js
diff options
context:
space:
mode:
authorjackyzha0 <[email protected]>2021-04-11 10:27:27 -0700
committerjackyzha0 <[email protected]>2021-04-11 10:27:27 -0700
commit0144bfc9cc6c616a00a8171f3950a75ec948427e (patch)
tree101d6c12471d411e9266cffa8e90176aff2e6fdb /frontend/src/pages/_document.js
parentbase next bump (diff)
downloadctrl-v-0144bfc9cc6c616a00a8171f3950a75ec948427e.tar.xz
ctrl-v-0144bfc9cc6c616a00a8171f3950a75ec948427e.zip
base next refactor
Diffstat (limited to 'frontend/src/pages/_document.js')
-rw-r--r--frontend/src/pages/_document.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/frontend/src/pages/_document.js b/frontend/src/pages/_document.js
new file mode 100644
index 0000000..0cbd6a3
--- /dev/null
+++ b/frontend/src/pages/_document.js
@@ -0,0 +1,30 @@
+import Document from 'next/document'
+import { ServerStyleSheet } from 'styled-components'
+
+export default class StyledDocument 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()
+ }
+ }
+} \ No newline at end of file