The navigation now moves to the top on scroll
This commit is contained in:
parent
5e8f17a254
commit
8d28f5f905
@ -2,6 +2,7 @@ import "./styles.sass";
|
|||||||
import Button from "@/common/components/Button";
|
import Button from "@/common/components/Button";
|
||||||
import SheepstarSitting from "@/assets/SheepstarSitting.png";
|
import SheepstarSitting from "@/assets/SheepstarSitting.png";
|
||||||
import {Link, NavLink} from "react-router-dom";
|
import {Link, NavLink} from "react-router-dom";
|
||||||
|
import {useEffect, useState} from "react";
|
||||||
|
|
||||||
const links = [
|
const links = [
|
||||||
{name: "Home", to: "/"},
|
{name: "Home", to: "/"},
|
||||||
@ -12,8 +13,22 @@ const links = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
const Navigation = () => {
|
const Navigation = () => {
|
||||||
|
const [hide, setHidden] = useState(false);
|
||||||
|
const [lastScrollY, setLastScrollY] = useState(0);
|
||||||
|
|
||||||
|
const scrollHandler = () => {
|
||||||
|
setHidden(window.scrollY > lastScrollY);
|
||||||
|
setLastScrollY(window.scrollY);
|
||||||
|
}
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
window.addEventListener('scroll', scrollHandler);
|
||||||
|
|
||||||
|
return () => window.removeEventListener('scroll', scrollHandler);
|
||||||
|
}, [lastScrollY]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<header className="header">
|
<header className={`header${hide ? ' hidden' : ''}`}>
|
||||||
<div className="link-area">
|
<div className="link-area">
|
||||||
<Link to={"/"}><img className="logo" src={SheepstarSitting} alt="Sheepstar Logo"/></Link>
|
<Link to={"/"}><img className="logo" src={SheepstarSitting} alt="Sheepstar Logo"/></Link>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user