diff --git a/apps/website/pages/_app.tsx b/apps/website/pages/_app.tsx index d2f35c8db..447d1e4fb 100644 --- a/apps/website/pages/_app.tsx +++ b/apps/website/pages/_app.tsx @@ -1,4 +1,4 @@ -import { ReactElement, ReactNode, useMemo, useState } from "react"; +import { ReactElement, ReactNode, useEffect, useMemo, useState } from "react"; import type { NextPage } from "next"; import type { AppProps } from "next/app"; import Head from "next/head"; @@ -25,6 +25,7 @@ const clientSideEmotionCache = createCache({ key: "css", prepend: true }); export default function App({ Component, pageProps }: AppPropsWithLayout) { const getLayout = Component.getLayout || ((page) => page); const componentWithLayout = getLayout(); + const [renderContent, setRenderContent] = useState(false); const [filter, setFilter] = useState(""); const { asPath: currentPath } = useRouter(); const filteredLinks = useMemo(() => { @@ -40,12 +41,18 @@ export default function App({ Component, pageProps }: AppPropsWithLayout) { return filtered; }, [filter]); + useEffect(() => { + setRenderContent(true); + }, []); + const matchPaths = (linkPath: string) => { const desiredPaths = [linkPath, `${linkPath}/code`]; const pathToBeMatched = currentPath?.split("#")[0]?.slice(0, -1); return pathToBeMatched ? desiredPaths.includes(pathToBeMatched) : false; }; + if (!renderContent) return null; + return (