diff --git a/src/App.jsx b/src/App.jsx
index 94f8d27..af218a6 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -15,6 +15,8 @@ import GovernancePage from './pages/GovernancePage'
import SettingsPage from './pages/SettingsPage'
import Footer from './components/layout/Footer'
import Support from './pages/Support'
+import BackToTop from './components/layout/BackToTop'
+
function Layout({ children }) {
return (
@@ -22,6 +24,7 @@ function Layout({ children }) {
{children}
+
)
diff --git a/src/components/layout/BackToTop.jsx b/src/components/layout/BackToTop.jsx
new file mode 100644
index 0000000..45eee0d
--- /dev/null
+++ b/src/components/layout/BackToTop.jsx
@@ -0,0 +1,71 @@
+import { useEffect, useState } from "react";
+import { FaArrowUp } from "react-icons/fa6";
+
+export default function BackToTop() {
+ const [isVisible, setIsVisible] = useState(false);
+
+ useEffect(() => {
+ const handleScroll = () => {
+ setIsVisible(window.scrollY > 300);
+ };
+
+ window.addEventListener("scroll", handleScroll);
+ handleScroll();
+
+ return () => {
+ window.removeEventListener("scroll", handleScroll);
+ };
+ }, []);
+
+ const scrollToTop = () => {
+ window.scrollTo({
+ top: 0,
+ behavior: "smooth",
+ });
+ };
+
+ if (!isVisible) {
+ return null;
+ }
+
+ return (
+
+ );
+}
\ No newline at end of file