import { Navigate, Route, Routes } from 'react-router-dom'; import AccountMenu from './AccoutMenu'; import RightPanel from './RightPanel'; import Missions from './missions/Missions'; import Contests from './contests/Contests'; import ArticlesBlock from './articles/ArticlesBlock'; import { useAppDispatch, useAppSelector } from '../../../redux/hooks'; import { useEffect } from 'react'; import { setMenuActivePage } from '../../../redux/slices/store'; import { useQuery } from '../../../hooks/useQuery'; import { fetchProfile, fetchProfileArticles, fetchProfileContests, fetchProfileMissions, } from '../../../redux/slices/profile'; const Account = () => { const dispatch = useAppDispatch(); const myname = useAppSelector((state) => state.auth.username); const query = useQuery(); const username = query.get('username') ?? myname ?? ''; useEffect(() => { if (username == myname) { dispatch(setMenuActivePage('account')); } else { dispatch(setMenuActivePage('')); } dispatch( fetchProfileMissions({ username: username, recentPageSize: 1, authoredPageSize: 100, }), ); dispatch(fetchProfileArticles({ username: username, pageSize: 100 })); dispatch( fetchProfileContests({ username: username, pastPageSize: 100, minePageSize: 100, upcomingPageSize: 100, }), ); dispatch(fetchProfile(username)); }, [username]); return (
} /> } /> } /> } />
); }; export default Account;