diff --git a/docs/suspensive.org/public/img/homepage_background.svg b/docs/suspensive.org/public/img/homepage_background.svg
new file mode 100644
index 000000000..2fa51713f
--- /dev/null
+++ b/docs/suspensive.org/public/img/homepage_background.svg
@@ -0,0 +1,439 @@
+
diff --git a/docs/suspensive.org/public/img/homepage_logo.png b/docs/suspensive.org/public/img/homepage_logo.png
new file mode 100644
index 000000000..299c84684
Binary files /dev/null and b/docs/suspensive.org/public/img/homepage_logo.png differ
diff --git a/docs/suspensive.org/src/components/HomePage.tsx b/docs/suspensive.org/src/components/HomePage.tsx
index 5db04e8ed..2b55b452e 100644
--- a/docs/suspensive.org/src/components/HomePage.tsx
+++ b/docs/suspensive.org/src/components/HomePage.tsx
@@ -1,7 +1,7 @@
import { motion } from 'motion/react'
import Image from 'next/image'
+import Link from 'next/link'
import { useRouter } from 'nextra/hooks'
-import { Link } from 'nextra-theme-docs'
const CodeBlockClassName = 'nextra-code'
@@ -14,63 +14,95 @@ const backtickToCodeBlock = (text: string) =>
const formatCodeBlocks = (desc: string) => backtickToCodeBlock(escapeHtml(desc))
export const HomePage = ({
- title,
description,
buttonText,
items,
- version,
+ children,
}: {
title: string
description: string
buttonText: string
items: { title: string; desc: string }[]
version: number
+ children?: React.ReactNode
}) => {
const router = useRouter()
return (
-
-
-
-
-
-
{title}{' '}
-
v{version}
+ <>
+
+
+
+
+
+
+ {description}
+
+
+ npm i @suspensive/react
+
+
-
{description}
+
+
+ {buttonText}
+
+
-
-
- {buttonText}
-
-
-
-
-
- {items.map(({ title, desc }) => (
-
- ))}
-
-
+
+
+ {items.map(({ title, desc }, index) => (
+
+ {title}
+
+
+ ))}
+
+
+
+ {children}
+
+ >
)
}
diff --git a/docs/suspensive.org/src/components/Scrollycoding.tsx b/docs/suspensive.org/src/components/Scrollycoding.tsx
index 61edf5557..7a82d0091 100644
--- a/docs/suspensive.org/src/components/Scrollycoding.tsx
+++ b/docs/suspensive.org/src/components/Scrollycoding.tsx
@@ -83,7 +83,7 @@ export function Scrollycoding(props: unknown) {
className="mb-56 cursor-pointer px-5 py-2 opacity-30 blur-lg transition data-[selected=true]:opacity-100 data-[selected=true]:blur-none"
>
{step.title}
-
{step.children}
+
{step.children}
))}
diff --git a/docs/suspensive.org/src/components/SectionText.tsx b/docs/suspensive.org/src/components/SectionText.tsx
new file mode 100644
index 000000000..0827530f0
--- /dev/null
+++ b/docs/suspensive.org/src/components/SectionText.tsx
@@ -0,0 +1,10 @@
+import type { ReactNode } from 'react'
+
+export const SectionTitle = ({ children }: { children: ReactNode }) => (
+
+ {children}
+
+)
+export const SectionDescription = ({ children }: { children: ReactNode }) => (
+
{children}
+)
diff --git a/docs/suspensive.org/src/components/index.ts b/docs/suspensive.org/src/components/index.ts
index 0e7eee0cc..5de8f8f3c 100644
--- a/docs/suspensive.org/src/components/index.ts
+++ b/docs/suspensive.org/src/components/index.ts
@@ -3,3 +3,4 @@ export { HomePage } from './HomePage'
export { Sandpack } from './Sandpack'
export { BubbleChart } from './BubbleChart'
export { Scrollycoding } from './Scrollycoding'
+export { SectionTitle, SectionDescription } from './SectionText'
diff --git a/docs/suspensive.org/src/pages/en/index.mdx b/docs/suspensive.org/src/pages/en/index.mdx
index bf32e55aa..5d45df6fe 100644
--- a/docs/suspensive.org/src/pages/en/index.mdx
+++ b/docs/suspensive.org/src/pages/en/index.mdx
@@ -1,8 +1,11 @@
-import { HomePage, Scrollycoding } from '@/components'
+import {
+ HomePage,
+ Scrollycoding,
+ SectionDescription,
+ SectionTitle,
+} from '@/components'
+>
# !!steps If you write code without Suspense with TanStack Query, a representative library, you would write it like this.
@@ -181,9 +184,10 @@ const Page = () => (
-## This is why we make Suspensive.
-
-### Suspense, ClientOnly, DefaultProps
+
This is why we make Suspensive
+
+
Suspense, ClientOnly, DefaultProps
+
# !!steps When using frameworks like Next.js, it can be difficult to use Suspense on the server.
@@ -299,7 +303,8 @@ const Page = () => (
-### ErrorBoundaryGroup, ErrorBoundary
+
ErrorBoundaryGroup, ErrorBoundary
+
@@ -422,3 +427,5 @@ const DeepComponent = () => (
```
+
+
diff --git a/docs/suspensive.org/src/pages/ko/index.mdx b/docs/suspensive.org/src/pages/ko/index.mdx
index 898ed9019..91483e2b6 100644
--- a/docs/suspensive.org/src/pages/ko/index.mdx
+++ b/docs/suspensive.org/src/pages/ko/index.mdx
@@ -1,8 +1,11 @@
-import { HomePage, Scrollycoding } from '@/components'
+import {
+ HomePage,
+ Scrollycoding,
+ SectionDescription,
+ SectionTitle,
+} from '@/components'
(
-## 이것이 우리가 Suspensive를 만드는 이유입니다.
-
-### Suspense, ClientOnly, DefaultProps
+이것이 우리가 Suspensive를 만드는 이유입니다
+
+Suspense, ClientOnly, DefaultProps
+
@@ -300,7 +304,8 @@ const Page = () => (
-### ErrorBoundaryGroup, ErrorBoundary
+ErrorBoundaryGroup, ErrorBoundary
+
diff --git a/docs/suspensive.org/src/styles/globals.css b/docs/suspensive.org/src/styles/globals.css
index 321d0d642..0e4cd2378 100644
--- a/docs/suspensive.org/src/styles/globals.css
+++ b/docs/suspensive.org/src/styles/globals.css
@@ -9,3 +9,7 @@
.scrollbar-none::-webkit-scrollbar {
display: none; /* Chrome, Safari, Opera*/
}
+
+body {
+ background-color: #0c0c0c;
+}