feat: use next/script tag for inline scripts (#5938)

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
Harsh/fix-avail-time-order^2
Nafees Nazik 2022-12-09 05:09:15 +05:30 committed by GitHub
parent e832015f26
commit a6e0678e59
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 2 deletions

View File

@ -1,5 +1,6 @@
import { DefaultSeo } from "next-seo"; import { DefaultSeo } from "next-seo";
import Head from "next/head"; import Head from "next/head";
import Script from "next/script";
import superjson from "superjson"; import superjson from "superjson";
import "@calcom/embed-core/src/embed-iframe"; import "@calcom/embed-core/src/embed-iframe";
@ -36,8 +37,11 @@ function MyApp(props: AppProps) {
<AppProviders {...props}> <AppProviders {...props}>
<DefaultSeo {...seoConfig.defaultNextSeo} /> <DefaultSeo {...seoConfig.defaultNextSeo} />
<I18nLanguageHandler /> <I18nLanguageHandler />
<Script
id="page-status"
dangerouslySetInnerHTML={{ __html: `window.CalComPageStatus = '${pageStatus}'` }}
/>
<Head> <Head>
<script dangerouslySetInnerHTML={{ __html: `window.CalComPageStatus = '${pageStatus}'` }} />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
</Head> </Head>
{getLayout( {getLayout(

View File

@ -1,4 +1,5 @@
import Document, { DocumentContext, Head, Html, Main, NextScript, DocumentProps } from "next/document"; import Document, { DocumentContext, Head, Html, Main, NextScript, DocumentProps } from "next/document";
import Script from "next/script";
type Props = Record<string, unknown> & DocumentProps; type Props = Record<string, unknown> & DocumentProps;
@ -69,7 +70,9 @@ class MyDocument extends Document<Props> {
{/* Define isEmbed here so that it can be shared with App(embed-iframe) as well as the following code to change background and hide body {/* Define isEmbed here so that it can be shared with App(embed-iframe) as well as the following code to change background and hide body
Persist the embed mode in sessionStorage because query param might get lost during browsing. Persist the embed mode in sessionStorage because query param might get lost during browsing.
*/} */}
<script <Script
id="run-before-client"
strategy="beforeInteractive"
dangerouslySetInnerHTML={{ dangerouslySetInnerHTML={{
__html: `(${toRunBeforeReactOnClient.toString()})()`, __html: `(${toRunBeforeReactOnClient.toString()})()`,
}} }}