diff --git a/site/components/Hero.tsx b/site/components/Hero.tsx index 5839ee5c..f34b3b60 100644 --- a/site/components/Hero.tsx +++ b/site/components/Hero.tsx @@ -3,31 +3,6 @@ import ButtonLink from './ButtonLink'; import NewsletterForm from './NewsletterForm'; import Image from 'next/image'; import DatahubExampleImg from '@/public/images/showcases/datahub.webp'; - -const codeLanguage = 'javascript'; -const code = `export default { - strategy: 'predictive', - engine: { - cpus: 12, - backups: ['./storage/cache.wtf'], - }, -}`; - -const tabs = [ - { name: 'cache-advance.config.js', isActive: true }, - { name: 'package.json', isActive: false }, -]; - -function TrafficLightsIcon(props) { - return ( - - ); -} - /* eslint jsx-a11y/label-has-associated-control: off */ export function Hero() { const el = useRef(null); diff --git a/site/components/NewsletterForm.tsx b/site/components/NewsletterForm.tsx index bc6940e9..c3974a1c 100644 --- a/site/components/NewsletterForm.tsx +++ b/site/components/NewsletterForm.tsx @@ -1,6 +1,27 @@ +import { loadScripts } from '@/lib/loadNewsletterScripts'; import Script from 'next/script'; +import { useEffect } from 'react'; export default function NewsletterForm() { + useEffect(() => { + /* + * The newsletter scripts MUST be loaded after + * the document is loaded, as they depend on + * the presence of some elements + * + */ + if (document.readyState === 'complete') { + const { resetElements } = loadScripts(); + + return () => { + resetElements(); + }; + } else { + window.addEventListener('load', loadScripts); + return () => window.removeEventListener('load', loadScripts); + } + }, []); + return (
-