diff --git a/src/app/components/navigation/navbar.js b/src/app/components/navigation/navbar.js index 04e49ae..06180da 100644 --- a/src/app/components/navigation/navbar.js +++ b/src/app/components/navigation/navbar.js @@ -1,41 +1,62 @@ 'use client' -import { useState } from "react"; +import { useState, useEffect, useRef } from "react"; import Link from "next/link"; import { ArrowRight } from "lucide-react"; + const Navbar = () => { const [menuOpen, setMenuOpen] = useState(false); + const [hidden, setHidden] = useState(false); + const lastYPos = useRef(0); + + // Makes navbar disappear on scroll + useEffect(() => { + + const hasScrolled = () => { + const currentYPos = window.scrollY; + setHidden(currentYPos > 200 && currentYPos>lastYPos.current); + lastYPos.current = currentYPos; + }; + window.addEventListener("scroll", hasScrolled); + + return () => { + window.removeEventListener("scroll", hasScrolled) + }; + }, []); + const toggleMenu = () => { setMenuOpen(!menuOpen); }; return ( -
+
-
+
{/* Logo */} - setMenuOpen(false)}> + setMenuOpen(false)}> GCSE Log {/* Desktop Navigation */} -