diff --git a/src/app/[locale]/doc/page.tsx b/src/app/[locale]/doc/page.tsx
index e4a8b2a..b852adb 100644
--- a/src/app/[locale]/doc/page.tsx
+++ b/src/app/[locale]/doc/page.tsx
@@ -21,7 +21,6 @@
// return (
//
-//
About
// {loading &&
Loading...
}
@@ -31,3 +30,39 @@
//
// )
// }
+
+'use client'
+
+import { useEffect, useState } from 'react'
+import Spinner from '@/components/spinner'
+
+export default function AboutPage() {
+ const [data, setData] = useState(null)
+ const [loading, setLoading] = useState(true)
+
+ useEffect(() => {
+ fetch((process.env.NEXT_PUBLIC_API_URL as string) + '/docs.json')
+ .then((res) => res.json())
+ .then((result) => {
+ setData(result)
+ setLoading(false)
+ })
+ .catch(() => {
+ setLoading(false)
+ })
+ }, [])
+
+ if (loading) {
+ return (
+
+ )
+ }
+
+ return (
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/src/components/spinner.tsx b/src/components/spinner.tsx
new file mode 100644
index 0000000..6e9ebe1
--- /dev/null
+++ b/src/components/spinner.tsx
@@ -0,0 +1,21 @@
+'use client'
+
+type SpinnerProps = {
+ text?: string
+}
+
+export default function Spinner({ text = '' }: SpinnerProps) {
+ return (
+
+
+ {text}
+
+
+ {/* Spinner */}
+
+
+ )
+}
\ No newline at end of file
diff --git a/src/globals.css b/src/globals.css
index b41cc69..cc5de83 100644
--- a/src/globals.css
+++ b/src/globals.css
@@ -23,6 +23,8 @@ body {
--accent: #00d4ff;
+ --muted-color: #ffffff33;
+
--color-base: #000000;
--color-inverse: #ffffff;
@@ -42,6 +44,8 @@ body {
--accent: #0077ff;
+ --muted-color: #11111133;
+
--color-base: #ffffff;
--color-inverse: #000000;
}
@@ -62,6 +66,14 @@ body {
color: var(--accent);
}
+.text-color {
+ color: var(--muted-color);
+}
+
+.border-muted {
+ border-color: var(--muted-color);
+}
+
/* =========================
TRANSITIONS
========================= */