import { FC, useEffect, useState } from 'react'; import { useAppDispatch, useAppSelector } from '../../../../redux/hooks'; import { setMenuActiveProfilePage } from '../../../../redux/slices/store'; import { cn } from '../../../../lib/cn'; import { ChevroneDown, Edit } from '../../../../assets/icons/groups'; import { fetchArticles } from '../../../../redux/slices/articles'; import { useNavigate } from 'react-router-dom'; export interface ArticleItemProps { id: number; name: string; tags: string[]; } const ArticleItem: React.FC = ({ id, name, tags }) => { const navigate = useNavigate(); return (
{ navigate(`/article/${id}?back=/home/account/articles`); }} >
#{id}
{name}
{tags.map((v, i) => (
{v}
))}
{ e.stopPropagation(); navigate( `/article/create?back=/home/account/articles&articleId=${id}`, ); }} />
); }; interface ArticlesBlockProps { className?: string; } const ArticlesBlock: FC = ({ className = '' }) => { const dispatch = useAppDispatch(); const articles = useAppSelector((state) => state.articles.articles); const [active, setActive] = useState(true); useEffect(() => { dispatch(setMenuActiveProfilePage('articles')); dispatch(fetchArticles({})); }, []); return (
{ setActive(!active); }} > Мои статьи
{articles.map((v, i) => ( ))}
); }; export default ArticlesBlock;