Files
LiquidCode_Frontend/src/views/home/menu/Menu.tsx
Виталий Лавшонок d1a46435c4 add error toasts
2025-12-10 01:33:16 +03:00

71 lines
2.5 KiB
TypeScript

import { Logo, LogoFASIE } from '../../../assets/logos';
import {
Account,
Clipboard,
Cup,
Openbook,
Users,
} from '../../../assets/icons/menu';
import MenuItem from './MenuItem';
import { useAppSelector } from '../../../redux/hooks';
const Menu = () => {
const menuItems = [
{
text: 'Задачи',
href: '/home/missions',
icon: Clipboard,
page: 'missions',
},
{
text: 'Статьи',
href: '/home/articles',
icon: Openbook,
page: 'articles',
},
{ text: 'Группы', href: '/home/groups', icon: Users, page: 'groups' },
{
text: 'Контесты',
href: '/home/contests',
icon: Cup,
page: 'contests',
},
{
text: 'Аккаунт',
href: '/home/account',
icon: Account,
page: 'account',
},
];
const activePage = useAppSelector((state) => state.store.menu.activePage);
return (
<div className="w-[250px] h-full fixed top-0 items-center box-border p-[20px] pt-[35px]">
<img src={Logo} className="w-[173px]" />
<div className="">
{menuItems.map((v, i) => (
<MenuItem
key={i}
icon={v.icon}
text={v.text}
href={v.href}
active={v.page == activePage}
page={v.page}
/>
))}
</div>
<div className="h-[300px] w-full absolute left-0 bottom-[10px] p-[20px] flex flex-col justify-end gap-[20px]">
<img src={LogoFASIE} />
<div className="text-[12px] font-normal leading-[15px] text-liquid-light">
{
'Проект «LiquidCode» создан при поддержке Федерального государственного бюджетного учреждения «Фонд содействия развитию малых форм предприятий в научно-технической сфере» в рамках программы «Студенческий стартап» федерального проекта «Платформа университетского технологического предпринимательства»'
}
</div>
</div>
</div>
);
};
export default Menu;