Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

_document.tsx 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import NextDocument, { Html, Head, Main, NextScript } from 'next/document'
  2. import { dark, getCssString } from 'styles'
  3. import { GA_TRACKING_ID } from 'utils/gtag'
  4. class MyDocument extends NextDocument {
  5. static async getInitialProps(ctx) {
  6. try {
  7. const initialProps = await NextDocument.getInitialProps(ctx)
  8. return {
  9. ...initialProps,
  10. styles: (
  11. <>
  12. {initialProps.styles}
  13. <style
  14. id="stitches"
  15. dangerouslySetInnerHTML={{ __html: getCssString() }}
  16. />
  17. </>
  18. ),
  19. }
  20. } catch (e) {
  21. console.error(e.message)
  22. } finally {
  23. }
  24. }
  25. render() {
  26. return (
  27. <Html lang="en">
  28. <Head>
  29. <link rel="manifest" href="/manifest.json" />
  30. <link rel="shortcut icon" href="/favicon.ico" />
  31. <meta name="application-name" content="tldraw" />
  32. <meta name="apple-mobile-web-app-capable" content="yes" />
  33. <meta name="apple-mobile-web-app-status-bar-style" content="black" />
  34. <meta name="apple-mobile-web-app-title" content="tldraw" />
  35. <meta name="description" content="A tiny little drawing app." />
  36. <meta name="format-detection" content="telephone=no" />
  37. <meta name="mobile-web-app-capable" content="yes" />
  38. <meta name="theme-color" content="#fafafa" />
  39. <meta name="twitter:card" content="summary" />
  40. <meta name="twitter:url" content="https://tldraw.com" />
  41. <meta name="twitter:title" content="tldraw" />
  42. <meta
  43. name="twitter:description"
  44. content="A tiny little drawing app."
  45. />
  46. <meta name="twitter:creator" content="@steveruizok" />
  47. <meta property="og:type" content="website" />
  48. <meta property="og:title" content="tldraw" />
  49. <meta
  50. property="og:description"
  51. content="A tiny little drawing app."
  52. />
  53. <meta property="og:site_name" content="tldraw" />
  54. <meta property="og:url" content="https://tldraw.com" />
  55. <script
  56. async
  57. src={`https://www.googletagmanager.com/gtag/js?id=${GA_TRACKING_ID}`}
  58. />
  59. <script
  60. dangerouslySetInnerHTML={{
  61. __html: `
  62. window.dataLayer = window.dataLayer || [];
  63. function gtag(){dataLayer.push(arguments);}
  64. gtag('js', new Date());
  65. gtag('config', '${GA_TRACKING_ID}', {
  66. page_path: window.location.pathname,
  67. });
  68. `,
  69. }}
  70. />
  71. </Head>
  72. <body className={dark}>
  73. <Main />
  74. <NextScript />
  75. </body>
  76. </Html>
  77. )
  78. }
  79. }
  80. export default MyDocument