From c5b771b87b92260e19f0c43ed83151c8e3d49f73 Mon Sep 17 00:00:00 2001 From: ilyayudovin Date: Fri, 26 Jun 2020 02:49:13 +0300 Subject: feat: add more menu button to profile --- src/pages/ProfilePage/MoreMenu.tsx | 66 +++++++++++++++++++++++++++++++ src/pages/ProfilePage/ProfileInfo.tsx | 74 ++++++++++++++++++++++------------- 2 files changed, 112 insertions(+), 28 deletions(-) create mode 100644 src/pages/ProfilePage/MoreMenu.tsx diff --git a/src/pages/ProfilePage/MoreMenu.tsx b/src/pages/ProfilePage/MoreMenu.tsx new file mode 100644 index 0000000..a4bc993 --- /dev/null +++ b/src/pages/ProfilePage/MoreMenu.tsx @@ -0,0 +1,66 @@ +import React from 'react'; +import IconButton from '@material-ui/core/IconButton'; +import Menu from '@material-ui/core/Menu'; +import MenuItem from '@material-ui/core/MenuItem'; +import MoreHorizIcon from '@material-ui/icons/MoreHoriz'; +import {makeStyles} from "@material-ui/core"; + +interface PropTypes { + logOut: () => void; +} + +const ITEM_HEIGHT = 48; + +const useStyles = makeStyles({ + moreMenu: { + position: 'absolute', + right: 10, + zIndex: 100 + } +}); + +const MoreMenu: React.FC = ({ logOut }) => { + const classes = useStyles(); + const [anchorEl, setAnchorEl] = React.useState(null); + const open = Boolean(anchorEl); + + const handleClick = (event: any) => { + setAnchorEl(event.currentTarget); + }; + + const handleClose = () => { + setAnchorEl(null); + }; + + return ( +
+
+ + + + + Log out + +
+
+ ); +}; + +export default MoreMenu; diff --git a/src/pages/ProfilePage/ProfileInfo.tsx b/src/pages/ProfilePage/ProfileInfo.tsx index 18a9fca..7489bc5 100644 --- a/src/pages/ProfilePage/ProfileInfo.tsx +++ b/src/pages/ProfilePage/ProfileInfo.tsx @@ -1,9 +1,9 @@ import React from 'react'; import {Avatar, Badge, withStyles} from '@material-ui/core/'; -import { makeStyles } from '@material-ui/core/styles'; -import Button from '@material-ui/core/Button/Button'; -import { User } from 'which-types'; +import {makeStyles} from '@material-ui/core/styles'; +import {User} from 'which-types'; import CameraAltIcon from '@material-ui/icons/CameraAlt'; +import MoreMenu from "./MoreMenu"; interface PropTypes { user: User | undefined; @@ -11,6 +11,9 @@ interface PropTypes { } const useStyles = makeStyles({ + root: { + position: 'relative' + }, avatar: { width: 150, height: 150, @@ -31,7 +34,6 @@ const useStyles = makeStyles({ menuButton: { width: 200, height: 50, - paddingTop: 15, textAlign: 'center' }, badge: { @@ -40,7 +42,18 @@ const useStyles = makeStyles({ avatarContainer: { position: 'relative', textAlign: 'center' - } + }, + menuNumber: { + fontWeight: 800, + color: 'black' + }, + menuText: { + color: 'darkgray' + }, + status: { + textAlign: 'center', + color: 'darkgray' + }, }); @@ -54,45 +67,50 @@ const StyledBadge = withStyles((theme) => ({ }, }))(Badge); -const ProfileInfo: React.FC = ({ user, logOut }) => { +const ProfileInfo: React.FC = ({user, logOut}) => { const classes = useStyles(); return ( -
+
{ user?._id === localStorage.getItem('userId') - ?
- } - > - - + ? +
+ +
+ } + > + + +
- : + : }
{user?.username}
+
+ I am not alcoholic +
-
- Polls +
+
11
+
Polls
- Followers +
05.05.2020
+
Since
- Following +
17
+
Total votes
- { - user?._id === localStorage.getItem('userId') - ? - : null - }
); }; -- cgit v1.2.3