This is an automated email from the ASF dual-hosted git repository.

xiangfu pushed a commit to branch new-site-dev
in repository https://gitbox.apache.org/repos/asf/pinot-site.git


The following commit(s) were added to refs/heads/new-site-dev by this push:
     new 17939a33 ReactPlayer, use Head from nextjs, move it above (#115)
17939a33 is described below

commit 17939a33e846f98303fc426b4a9ff4a82fbbad68
Author: Gio <153032991+gio-start...@users.noreply.github.com>
AuthorDate: Tue Apr 16 00:52:31 2024 +0200

    ReactPlayer, use Head from nextjs, move it above (#115)
    
    * Try with ReactPlayer
    
    * httpEquiv -> http-equiv
    
    * http-equiv; use Head from nextjs
---
 app/layout.tsx                       | 13 +++++++------
 app/toberemoved/page.tsx             | 30 ++++++++++++++++++++++++++++++
 components/TextVideoSplitSection.tsx | 26 +++++++++++++++++++++++++-
 next.config.js                       | 16 ++++++++--------
 4 files changed, 70 insertions(+), 15 deletions(-)

diff --git a/app/layout.tsx b/app/layout.tsx
index 72915395..03144b83 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -10,6 +10,7 @@ import Footer from '@/components/Footer';
 import siteMetadata from '@/data/siteMetadata';
 import { ThemeProviders } from './theme-providers';
 import { Metadata } from 'next';
+import Head from 'next/head';
 
 const work_sans = Work_Sans({
     subsets: ['latin'],
@@ -64,7 +65,11 @@ export default function RootLayout({ children }: { children: 
React.ReactNode })
             className={`${work_sans.variable} scroll-smooth`}
             suppressHydrationWarning
         >
-            <head>
+            <Head>
+                <meta
+                    httpEquiv="Content-Security-Policy"
+                    content="default-src 'self';script-src 'self' 
'unsafe-eval' 'unsafe-inline' giscus.app analytics.umami.is www.youtube.com 
www.googletagmanager.com www.google-analytics.com;style-src 'self' 
'unsafe-inline';img-src * blob: data:;media-src *.s3.amazonaws.com;connect-src 
*;font-src 'self';frame-src www.youtube.com youtube.com giscus.app youtu.be 
https://www.youtube.com https://youtube.com;";
+                />
                 <link
                     rel="apple-touch-icon"
                     sizes="76x76"
@@ -88,15 +93,11 @@ export default function RootLayout({ children }: { 
children: React.ReactNode })
                     href="/static/favicons/safari-pinned-tab.svg"
                     color="#5bbad5"
                 />
-                <meta
-                    httpEquiv="Content-Security-Policy"
-                    content="default-src 'self';script-src 'self' 
'unsafe-eval' 'unsafe-inline' giscus.app analytics.umami.is www.youtube.com 
www.googletagmanager.com www.google-analytics.com;style-src 'self' 
'unsafe-inline';img-src * blob: data:;media-src *.s3.amazonaws.com;connect-src 
*;font-src 'self';frame-src www.youtube.com youtube.com giscus.app youtu.be;"
-                />
                 <meta name="msapplication-TileColor" content="#000000" />
                 <meta name="theme-color" media="(prefers-color-scheme: light)" 
content="#fff" />
                 <meta name="theme-color" media="(prefers-color-scheme: dark)" 
content="#000" />
                 <link rel="alternate" type="application/rss+xml" 
href="/feed.xml" />
-            </head>
+            </Head>
             <body className="bg-white text-black antialiased dark:bg-gray-950 
dark:text-white">
                 <ThemeProviders>
                     <Analytics analyticsConfig={siteMetadata.analytics as 
AnalyticsConfig} />
diff --git a/app/toberemoved/page.tsx b/app/toberemoved/page.tsx
new file mode 100644
index 00000000..2017d1fb
--- /dev/null
+++ b/app/toberemoved/page.tsx
@@ -0,0 +1,30 @@
+'use client';
+import React, { useEffect, useState } from 'react';
+import ReactPlayer from 'react-player';
+
+const ToBeRemoved = () => {
+    const [isSSR, setIsSSR] = useState(true);
+    const imagePlaceholder = '/static/images/video_thumbnail.png';
+
+    useEffect(() => {
+        setIsSSR(false);
+    }, []);
+    return isSSR ? null : (
+        <ReactPlayer
+            url={'https://www.youtube.com/watch?v=_lqdfq2c9cQ'}
+            light={true}
+            // width={'720px'}
+            // height={'480px'}
+            // style={{ border: '1px solid white' }}
+            playing={true}
+            volume={1}
+            pip={true}
+            controls={true}
+            loop={false}
+            stopOnUnmount={true}
+            className="h-[197px] w-full"
+        />
+    );
+};
+
+export default ToBeRemoved;
diff --git a/components/TextVideoSplitSection.tsx 
b/components/TextVideoSplitSection.tsx
index 524ff081..19a663fb 100644
--- a/components/TextVideoSplitSection.tsx
+++ b/components/TextVideoSplitSection.tsx
@@ -1,10 +1,12 @@
 'use client';
 
-import React, { useState } from 'react';
+import React, { useEffect, useState } from 'react';
 import { Button } from './ui/button';
 import { ArrowRight } from 'lucide-react';
 import Link from 'next/link';
 import siteMetadata from '@/data/siteMetadata';
+// import ReactPlayer from 'react-player';
+import ReactPlayer from 'react-player/youtube';
 
 interface TextVideoSplitSectionProps {
     videoUrl: string;
@@ -13,8 +15,13 @@ interface TextVideoSplitSectionProps {
 
 const TextVideoSplitSection: React.FC<TextVideoSplitSectionProps> = ({ 
videoUrl, title }) => {
     const [iframeLoaded, setIframeLoaded] = useState(false);
+    const [isSSR, setIsSSR] = useState(true);
     const imagePlaceholder = '/static/images/video_thumbnail.png';
 
+    useEffect(() => {
+        setIsSSR(false);
+    }, []);
+
     const handlePlaceholderClick = () => {
         setIframeLoaded(true);
         window.open(videoUrl, '_blank');
@@ -60,6 +67,23 @@ const TextVideoSplitSection: 
React.FC<TextVideoSplitSectionProps> = ({ videoUrl,
                     </Button>
                 </article>
                 <aside className="flex-1">
+                    {/* {isSSR ? null : (
+                        <ReactPlayer
+                            url={videoUrl}
+                            light={true}
+                            // width={'720px'}
+                            // height={'480px'}
+                            // style={{ border: '1px solid white' }}
+                            playing={true}
+                            volume={1}
+                            pip={true}
+                            controls={true}
+                            loop={false}
+                            stopOnUnmount={true}
+                            className="h-[197px] w-full"
+                        />
+                    )} */}
+                    {/* <video 
src="https://www.youtube.com/watch?v=LXb3EKWsInQ";></video> */}
                     <div
                         className="video-placeholder flex h-[197px] w-full 
cursor-pointer items-center justify-center bg-cover bg-center md:h-full"
                         onClick={handlePlaceholderClick}
diff --git a/next.config.js b/next.config.js
index 8de48885..37598825 100644
--- a/next.config.js
+++ b/next.config.js
@@ -75,14 +75,14 @@ module.exports = () => {
                 }
             ]
         },
-        async headers() {
-            return [
-                {
-                    source: '/(.*)',
-                    headers: securityHeaders
-                }
-            ];
-        },
+        // async headers() {
+        //     return [
+        //         {
+        //             source: '/(.*)',
+        //             headers: securityHeaders
+        //         }
+        //     ];
+        // },
         webpack: (config, options) => {
             config.module.rules.push({
                 test: /\.svg$/,


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to