Skip to content

Commit 7e81bf7

Browse files
committed
add a delay to prevent the skeleton from flashing
1 parent fac7e8b commit 7e81bf7

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

src/pages/index.tsx

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { ReactNode, useState } from "react"
1+
import { lazy, ReactNode, Suspense, useState } from "react"
22
import type { GetStaticProps, InferGetStaticPropsType } from "next"
3-
import dynamic from "next/dynamic"
43
import { useRouter } from "next/router"
54
import { useTranslation } from "next-i18next"
65
import { serverSideTranslations } from "next-i18next/serverSideTranslations"
@@ -238,10 +237,13 @@ const CodeblockSkeleton = () => (
238237
</Stack>
239238
)
240239

241-
const Codeblock = dynamic(() => import("@/components/Codeblock"), {
242-
ssr: false,
243-
loading: () => <CodeblockSkeleton />,
244-
})
240+
const Codeblock = lazy(() =>
241+
Promise.all([
242+
import("@/components/Codeblock"),
243+
// Add a delay to prevent the skeleton from flashing
244+
new Promise((resolve) => setTimeout(resolve, 1000)),
245+
]).then(([module]) => module)
246+
)
245247

246248
const HomePage = ({
247249
communityEvents,
@@ -558,13 +560,15 @@ const HomePage = ({
558560
setIsOpen={setModalOpen}
559561
title={codeExamples[activeCode].title}
560562
>
561-
<Codeblock
562-
codeLanguage={codeExamples[activeCode].codeLanguage}
563-
allowCollapse={false}
564-
fromHomepage
565-
>
566-
{codeExamples[activeCode].code}
567-
</Codeblock>
563+
<Suspense fallback={<CodeblockSkeleton />}>
564+
<Codeblock
565+
codeLanguage={codeExamples[activeCode].codeLanguage}
566+
allowCollapse={false}
567+
fromHomepage
568+
>
569+
{codeExamples[activeCode].code}
570+
</Codeblock>
571+
</Suspense>
568572
</CodeModal>
569573
)}
570574
</Row>

0 commit comments

Comments
 (0)