diff options
| author | eug-vs <eug-vs@keemail.me> | 2020-08-10 00:28:39 +0300 | 
|---|---|---|
| committer | eug-vs <eug-vs@keemail.me> | 2020-08-10 00:28:39 +0300 | 
| commit | 7ba15a22d1bd57e7c26ff2d5fccf5505aaf8619e (patch) | |
| tree | 8a71d8dd4bf89f09f14aee2636f519572e95f891 /src/pages/ProfilePage/ProfilePage.tsx | |
| parent | dfa6f0a8d1415539e1ff6a3ca848627bbe87b470 (diff) | |
| download | which-ui-7ba15a22d1bd57e7c26ff2d5fccf5505aaf8619e.tar.gz | |
refactor: move pages -> containers
Diffstat (limited to 'src/pages/ProfilePage/ProfilePage.tsx')
| -rw-r--r-- | src/pages/ProfilePage/ProfilePage.tsx | 55 | 
1 files changed, 0 insertions, 55 deletions
| diff --git a/src/pages/ProfilePage/ProfilePage.tsx b/src/pages/ProfilePage/ProfilePage.tsx deleted file mode 100644 index db27d25..0000000 --- a/src/pages/ProfilePage/ProfilePage.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import React, { useEffect, useCallback } from 'react'; -import { useHistory, useParams } from 'react-router-dom'; -import { Poll } from 'which-types'; -import { Container } from '@material-ui/core'; - -import ProfileInfo from './ProfileInfo'; -import Feed from '../../components/Feed/Feed'; -import Loading from '../../components/Loading/Loading'; -import { useAuth } from '../../hooks/useAuth'; -import { useUser, useProfile } from '../../hooks/APIClient'; - - -const ProfilePage: React.FC = () => { -  const history = useHistory(); -  const { username } = useParams(); -  const { user } = useAuth(); - -  const { data: userInfo, mutate: setUserInfo } = useUser(username); -  const { data: polls, isValidating } = useProfile(userInfo?._id); - -  useEffect(() => { -    if (!username) { -      if (user) history.push(`/profile/${user.username}`); -      else history.push('/login'); -    } -  }, [username, history, user]); - - -  const totalVotes = useCallback( -    polls.reduce( -      (total: number, current: Poll) => { -        const { left, right } = current.contents; -        return total + left.votes + right.votes; -      }, 0 -    ), -    [polls] -  ); - -  return ( -    <Container maxWidth="sm" disableGutters> -      <ProfileInfo -        userInfo={userInfo} -        setUserInfo={setUserInfo} -        savedPolls={polls.length} -        totalVotes={totalVotes} -      /> -      {!polls.length && isValidating -        ? <Loading /> -        : <Feed polls={polls} /> -      } -    </Container> -  ); -}; - -export default ProfilePage; | 
