aboutsummaryrefslogtreecommitdiff
path: root/src/pages/ProfilePage/ProfileInfo.tsx
diff options
context:
space:
mode:
authoreug-vs <eug-vs@keemail.me>2020-06-14 19:52:35 +0300
committereug-vs <eug-vs@keemail.me>2020-06-14 19:52:35 +0300
commitc7f2999ee797ea5e3bfb29517a4f13206162cc6f (patch)
treef1aa1f0183720e509894e641cd2f5d1b2f9cd163 /src/pages/ProfilePage/ProfileInfo.tsx
parentfabc53130685f70078343a6fd96d9a597b22008f (diff)
downloadwhich-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.tsx75
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;