diff --git a/frontend/src/components/HomeComponents/Navbar/Navbar.tsx b/frontend/src/components/HomeComponents/Navbar/Navbar.tsx index 8c3d91ef..b124ce8e 100644 --- a/frontend/src/components/HomeComponents/Navbar/Navbar.tsx +++ b/frontend/src/components/HomeComponents/Navbar/Navbar.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react'; +import { useState, useEffect } from 'react'; import { NavigationMenu, NavigationMenuItem, @@ -17,9 +17,34 @@ export const Navbar = ( } ) => { const [isOpen, setIsOpen] = useState(false); + const [isVisible, setIsVisible] = useState(true); + const [lastScrollY, setLastScrollY] = useState(0); + + useEffect(() => { + const handleScroll = () => { + const currentScrollY = window.scrollY; + + if (currentScrollY < 10) { + setIsVisible(true); + } else if (currentScrollY > lastScrollY && currentScrollY > 100) { + setIsVisible(false); + } else if (currentScrollY < lastScrollY) { + setIsVisible(true); + } + + setLastScrollY(currentScrollY); + }; + + window.addEventListener('scroll', handleScroll, { passive: true }); + return () => window.removeEventListener('scroll', handleScroll); + }, [lastScrollY]); return ( -
+
diff --git a/frontend/src/components/HomePage.tsx b/frontend/src/components/HomePage.tsx index 24eeb8a2..feb5cc03 100644 --- a/frontend/src/components/HomePage.tsx +++ b/frontend/src/components/HomePage.tsx @@ -302,39 +302,42 @@ export const HomePage: React.FC = () => { setIsLoading={setIsLoading} /> - - - -
- -
-
- -
-
- -
-