burger-online
55 строк · 1.8 Кб
1import {
2BurgerIcon,
3ListIcon,
4Logo,
5ProfileIcon,
6} from '@ya.praktikum/react-developer-burger-ui-components'
7import {useSelector} from 'react-redux'
8import {Link, useLocation, useMatch} from 'react-router-dom'
9import {userStore} from '../../redux/user/slice'
10import styles from './app-header.module.css'
11
12const AppHeader = () => {
13const {pathname} = useLocation()
14const {user} = useSelector(userStore)
15
16const isHome = useMatch('/')
17const isProfile = useMatch('/profile')
18const isFeed = useMatch('/feed')
19
20const isClassLinkHome = `text text_type_main-default ${pathname !== '/' ? 'text_color_inactive' : ''}`
21const isClassLinkProfile = `text text_type_main-default ${
22pathname !== '/profile' ? 'text_color_inactive' : ''
23}`
24const isClassLinkFeed = `text text_type_main-default ${
25pathname !== '/feed' ? 'text_color_inactive' : ''
26}`
27return (
28<header className={styles.header}>
29<nav className={styles.nav}>
30<div className={styles.links}>
31<Link to='/' className={styles.link} state={{from: {pathname}}}>
32<BurgerIcon type={isHome ? 'primary' : 'secondary'} />
33<p className={isClassLinkHome}>Конструктор</p>
34</Link>
35
36<Link to='/feed' className={styles.link} state={{from: {pathname}}}>
37<ListIcon type={isFeed ? 'primary' : 'secondary'} />
38<p className={isClassLinkFeed}>Лента заказов</p>
39</Link>
40</div>
41
42<Link to='/' className={styles.logo}>
43<Logo />
44</Link>
45
46<Link to='/profile' className={styles.profileLink} state={{from: {pathname}}}>
47<ProfileIcon type={isProfile ? 'primary' : 'secondary'} />
48<p className={isClassLinkProfile}>{user ? user.name : 'Личный кабинет'}</p>
49</Link>
50</nav>
51</header>
52)
53}
54
55export default AppHeader
56