First stable application according to tutorial
This commit is contained in:
parent
f5e4be85c4
commit
8d451a87b6
33 changed files with 1090 additions and 113 deletions
81
frontend/src/components/Navbar.js
Normal file
81
frontend/src/components/Navbar.js
Normal file
|
@ -0,0 +1,81 @@
|
|||
import React, { useState, useEffect } from 'react';
|
||||
import { Button } from './Button';
|
||||
import { Link } from 'react-router-dom';
|
||||
import './Navbar.css';
|
||||
|
||||
function Navbar() {
|
||||
const [click, setClick] = useState(false);
|
||||
const [button, setButton] = useState(true);
|
||||
|
||||
const handleClick = () => setClick(!click);
|
||||
const closeMobileMenu = () => setClick(false);
|
||||
|
||||
const showButton = () => {
|
||||
if (window.innerWidth <= 960) {
|
||||
setButton(false);
|
||||
} else {
|
||||
setButton(true);
|
||||
}
|
||||
};
|
||||
|
||||
/* Shows the button after resizing the screen */
|
||||
useEffect(() => {
|
||||
showButton();
|
||||
}, []);
|
||||
|
||||
window.addEventListener('resize', showButton);
|
||||
|
||||
return (
|
||||
<>
|
||||
<nav className='navbar'>
|
||||
<div className='navbar-container'>
|
||||
<Link to='/' className='navbar-logo' onClick={closeMobileMenu}>
|
||||
TRVL
|
||||
<i class='fab fa-typo3' />
|
||||
</Link>
|
||||
<div className='menu-icon' onClick={handleClick}>
|
||||
<i className={click ? 'fas fa-times' : 'fas fa-bars'} />
|
||||
</div>
|
||||
<ul className={click ? 'nav-menu active' : 'nav-menu'}>
|
||||
<li className='nav-item'>
|
||||
<Link to='/' className='nav-links' onClick={closeMobileMenu}>
|
||||
Home
|
||||
</Link>
|
||||
</li>
|
||||
<li className='nav-item'>
|
||||
<Link
|
||||
to='/services'
|
||||
className='nav-links'
|
||||
onClick={closeMobileMenu}
|
||||
>
|
||||
Services
|
||||
</Link>
|
||||
</li>
|
||||
<li className='nav-item'>
|
||||
<Link
|
||||
to='/products'
|
||||
className='nav-links'
|
||||
onClick={closeMobileMenu}
|
||||
>
|
||||
Products
|
||||
</Link>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<Link
|
||||
to='/sign-up'
|
||||
className='nav-links-mobile'
|
||||
onClick={closeMobileMenu}
|
||||
>
|
||||
Sign Up
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
{button && <Button buttonStyle='btn--outline'>SIGN UP</Button>}
|
||||
</div>
|
||||
</nav>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default Navbar;
|
Loading…
Add table
Add a link
Reference in a new issue