import React, {useRef, useState} from 'react'; import {Avatar, Badge, TextField, withStyles} from '@material-ui/core/'; import {makeStyles} from '@material-ui/core/styles'; import {User} from 'which-types'; import CameraAltIcon from '@material-ui/icons/CameraAlt'; import MoreMenu from "./MoreMenu"; import {patch} from '../../requests'; interface PropTypes { user: User | undefined; logOut: () => void; } const useStyles = makeStyles({ root: { position: 'relative' }, avatar: { width: 150, height: 150, margin: '0 auto' }, name: { fontSize: 20, textAlign: 'center', margin: '10px 0' }, profileMenu: { display: 'flex', width: '100%', height: 50, borderBottom: '1px solid lightgray', margin: '50px 0' }, menuButton: { width: 200, height: 50, textAlign: 'center' }, badge: { backgroundColor: 'lightgray' }, avatarContainer: { position: 'relative', textAlign: 'center' }, menuNumber: { fontWeight: 800, color: 'black' }, menuText: { color: 'darkgray' }, status: { textAlign: 'center', color: 'darkgray' }, }); const StyledBadge = withStyles((theme) => ({ badge: { backgroundColor: 'lightgray', width: 40, height: 40, borderRadius: '50%', cursor: 'pointer' }, }))(Badge); const ProfileInfo: React.FC = ({user, logOut}) => { const classes = useStyles(); const [input,setInput] = useState('hide'); const urlRef = useRef(); const handleClick = () => { input === 'hide' ? setInput('show') : setInput('hide'); }; const updateAvatar = (event: any) => { const id = localStorage.getItem('userId'); const newAvatar = urlRef.current?.value; patch(`/users/${id}`, {avatarUrl: newAvatar}).then(res => { console.log(res); }) }; return (
{ user?._id === localStorage.getItem('userId') ?
} >
{ input === 'show' ?
: null }
: }
{user?.username}
I am not alcoholic
11
Polls
05.05.2020
Since
17
Total votes
); }; export default ProfileInfo;