/
lostSun
/
project-client-server-apps
Обзор
Документация
Войти
/
lostSun
/
project-client-server-apps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/components/Navigation/Navigation.js
50 строк
1 KB
1lostsun
update project
25 май 2025, 13:12
25 май 2025, 13:12
78a0079
Код
Авторство
О чём код?
import React from 'react'; import { Link, useLocation, useNavigate } from 'react-router-dom'; import { useAuth } from '../../contexts/AuthContext'; import styles from './Navigation.module.css'; const Navigation = () => { const location = useLocation(); const navigate = useNavigate(); const { user, logout } = useAuth(); const isHomePage = location.pathname === '/'; const handleLogout = () => { logout(); navigate('/'); }; return ( <nav className={`${styles.nav} ${isHomePage ? styles.homeNav : ''}`}> <Link to="/" className={styles.logo}> BookShelf </Link> <div className={styles.links}> <Link to="/catalog" className={styles.link}> Каталог </Link> {user ? ( <> <Link to="/profile" className={styles.link}> {user.username} </Link> <button onClick={handleLogout} className={styles.logoutButton}> Выйти </button> </> ) : ( <> <Link to="/login" className={styles.link}> Войти </Link> <Link to="/register" className={styles.registerButton}> Регистрация </Link> </> )} </div> </nav> ); }; export default Navigation;