import { Openbook, Cup, Clipboard } from '../../../assets/icons/menu'; import React from 'react'; import { Link } from 'react-router-dom'; import { useAppDispatch, useAppSelector } from '../../../redux/hooks'; import { setMenuActivePage, setMenuActiveProfilePage, } from '../../../redux/slices/store'; interface MenuItemProps { icon: string; text: string; href: string; page: string; profilePage: string; active?: boolean; } const MenuItem: React.FC = ({ icon, text = '', href = '', active = false, page = '', profilePage = '', }) => { const dispatch = useAppDispatch(); return ( { dispatch(setMenuActivePage(page)); dispatch(setMenuActiveProfilePage(profilePage)); }} > {text} ); }; const AccountMenu = () => { const menuItems = [ { text: 'Задачи', href: '/home/account/missions', icon: Clipboard, page: 'account', profilePage: 'missions', }, { text: 'Статьи', href: '/home/account/articles', icon: Openbook, page: 'account', profilePage: 'articles', }, { text: 'Контесты', href: '/home/account/contests', icon: Cup, page: 'account', profilePage: 'contests', }, ]; const activeProfilePage = useAppSelector( (state) => state.store.menu.activeProfilePage, ); return (
{menuItems.map((v, i) => ( ))}
); }; export default AccountMenu;