diff --git a/website/src/components/ScrollButton/index.js b/website/src/components/ScrollButton/index.js
new file mode 100644
index 0000000..be224ba
--- /dev/null
+++ b/website/src/components/ScrollButton/index.js
@@ -0,0 +1,55 @@
+import React, { useEffect, useState } from 'react';
+import styles from './styles.module.css';
+
+export default function ScrollButton() {
+ const [showButton, setShowButton] = useState(false);
+
+ useEffect(() => {
+ const handleScroll = () => {
+ if (typeof window !== 'undefined') {
+ setShowButton(window.scrollY > 150);
+ }
+ };
+
+ if (typeof window !== 'undefined') {
+ window.addEventListener('scroll', handleScroll);
+ // Initial check
+ handleScroll();
+ return () => window.removeEventListener('scroll', handleScroll);
+ }
+ }, []);
+
+ const scrollUp = () => {
+ if (typeof window !== 'undefined') {
+ window.scrollTo({ top: 0, left: 0, behavior: 'smooth' });
+ }
+ };
+
+ return (
+
+ {showButton && (
+
+ )}
+
+ );
+}
diff --git a/website/src/components/ScrollButton/styles.module.css b/website/src/components/ScrollButton/styles.module.css
new file mode 100644
index 0000000..6e01a7d
--- /dev/null
+++ b/website/src/components/ScrollButton/styles.module.css
@@ -0,0 +1,45 @@
+.scrollButtonContainer {
+ position: fixed;
+ bottom: 2rem;
+ right: 2rem;
+ z-index: 1000;
+}
+
+.scrollButton {
+ width: 3rem;
+ height: 3rem;
+ border-radius: 0.5rem;
+ border: 1px solid #e5e7eb;
+ background-color: #ffffff;
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ transition: all 0.3s ease;
+}
+
+.scrollButton:hover {
+ background-color: #f9fafb;
+ transform: translateY(-0.25rem);
+}
+
+.scrollIcon {
+ width: 1.5rem;
+ height: 1.5rem;
+ color: #374151;
+}
+
+/* Dark mode styles */
+html[data-theme="dark"] .scrollButton {
+ background-color: #1f2937;
+ border-color: #4b5563;
+}
+
+html[data-theme="dark"] .scrollButton:hover {
+ background-color: #374151;
+}
+
+html[data-theme="dark"] .scrollIcon {
+ color: #d1d5db;
+}
diff --git a/website/src/pages/index.js b/website/src/pages/index.js
index eb4c9b9..709ea99 100644
--- a/website/src/pages/index.js
+++ b/website/src/pages/index.js
@@ -1,12 +1,14 @@
import Layout from "@theme/Layout";
import HomepageHeader from "../components/HomepageHeader";
import HomepageContent from "../components/HomepageContent";
+import ScrollButton from "../components/ScrollButton";
export default function Home() {
return (
+
);
}