diff options
| author | eug-vs <eug-vs@keemail.me> | 2020-06-14 19:52:35 +0300 | 
|---|---|---|
| committer | eug-vs <eug-vs@keemail.me> | 2020-06-14 19:52:35 +0300 | 
| commit | c7f2999ee797ea5e3bfb29517a4f13206162cc6f (patch) | |
| tree | f1aa1f0183720e509894e641cd2f5d1b2f9cd163 /src/pages/ProfilePage/ProfileInfo.tsx | |
| parent | fabc53130685f70078343a6fd96d9a597b22008f (diff) | |
| download | which-ui-c7f2999ee797ea5e3bfb29517a4f13206162cc6f.tar.gz | |
refactor: use lowercase in folder names
Diffstat (limited to 'src/pages/ProfilePage/ProfileInfo.tsx')
| -rw-r--r-- | src/pages/ProfilePage/ProfileInfo.tsx | 75 | 
1 files changed, 75 insertions, 0 deletions
diff --git a/src/pages/ProfilePage/ProfileInfo.tsx b/src/pages/ProfilePage/ProfileInfo.tsx new file mode 100644 index 0000000..8fce8df --- /dev/null +++ b/src/pages/ProfilePage/ProfileInfo.tsx @@ -0,0 +1,75 @@ +import React, { useState } from 'react'; +import { Avatar } from '@material-ui/core/'; +import { makeStyles } from '@material-ui/core/styles'; +import Button from '@material-ui/core/Button/Button'; +import { User } from '../../types'; +import { get } from '../../requests'; + +interface PropTypes { +  id: string; +  setUser: (newUser: User | undefined) => void; +} + +const useStyles = makeStyles({ +  avatar: { +    margin: '0 auto', +    width: 150, +    height: 150, +    marginBottom: 10 +  }, +  name: { +    fontSize: 20, +    textAlign: 'center' +  }, +  profileMenu: { +    display: 'flex', +    width: '100%', +    height: 50, +    borderBottom: '1px solid lightgray', +    margin: '50px 0' +  }, +  menuButton: { +    width: 200, +    height: 50, +    paddingTop: 15, +    textAlign: 'center' +  } +}); + +const ProfileInfo: React.FC<PropTypes> = ({ id, setUser }) => { +  const [userInfo, setUserInfo] = useState<User>(); + +  get(`/users/${id}`).then(response => { +    setUserInfo(response.data); +  }); + +  const classes = useStyles(); + +  const LogOut = () => { +    localStorage.clear(); +    setUser(undefined); +  }; + +  return ( +    <div> +      <Avatar className={classes.avatar} src={userInfo?.avatarUrl} /> +      <div className={classes.name}> +        {userInfo?.name} +      </div> +      <div className={classes.profileMenu}> +        <div style={{ borderBottom: '1px solid green', color: 'green' }} className={classes.menuButton}> +          Polls +        </div> +        <div className={classes.menuButton}> +          Followers +        </div> +        <div className={classes.menuButton}> +          Following +        </div> +      </div> +      <Button variant="contained" onClick={LogOut}>Log Out</Button> +    </div> +  ); +}; + +export default ProfileInfo;  |