import { useEffect, useState } from "react";
import { useNavigate, Link } from "react-router-dom";
const Navbar = () => {
const [scrolled, setScrolled] = useState(false)
const navScr = document.querySelector('.navbar')
const navigate = useNavigate()
const logoClick = () => {
navigate('/')
}
useEffect(()=>{
const logo = document.querySelector('.logo')
logo.addEventListener('click',logoClick)
},[navigate])
useEffect(() => {
const dropNav = document.querySelector('.navbar-collapse')
const handleScreenSize = (match) => {
if(match){
dropNav.classList.add('dropnav')
}else{
dropNav.classList.remove('dropnav')
}
}
const mediaQuery = window.matchMedia('(max-width: 880px)')
handleScreenSize(mediaQuery.matches)
mediaQuery.addListener(handleScreenSize)
},[])
window.addEventListener('scroll', () => {
if(window.scrollY >= 50){
setScrolled(true)
} else if(window.scrollY < 50 ){
setScrolled(false)
}
if(scrolled === true){
navScr.classList.add('nav-scroll')
}else{
navScr.classList.remove('nav-scroll')
}
})
return(
<nav className="navbar sticky-top navbar-expand-lg bg-body-tertiary" >
<div className="container-fluid">
<div className="navbar-brand logo" >
<img src="/src/assets/react.svg" alt="Logo" className="d-inline-block align-
text-top "/>
Project
</div>
<button className="navbar-toggler" type="button" data-bs-toggle="collapse" data-
bs-target="#navbarTogglerDemo01" aria-controls="navbarTogglerDemo01" aria-
expanded="false" aria-label="Toggle navigation">
<span className="navbar-toggler-icon"></span>
</button>
<div className="collapse navbar-collapse" id="navbarTogglerDemo01">
<ul className="navbar-nav me-auto mb-2 mb-lg-0">
<li className="nav-item">
<Link className="nav-link active" aria-current="page" to="/">Home</Link>
</li>
<li className="nav-item">
<Link className="nav-link" to="/Clock">About</Link>
</li>
<li className="nav-item">
<Link className="nav-link" to="/Contact">Contact</Link>
</li>
<li className="nav-item">
<button className="login-btn btn"><Link to="/Login">Login</Link></button>
</li>
</ul>
</div>
</div>
<script>
</script>
</nav>
);
}
export default Navbar