aboutsummaryrefslogtreecommitdiff
path: root/src/Pages/ProfilePage
diff options
context:
space:
mode:
Diffstat (limited to 'src/Pages/ProfilePage')
-rw-r--r--src/Pages/ProfilePage/ProfileInfo.tsx75
-rw-r--r--src/Pages/ProfilePage/ProfilePage.tsx25
-rw-r--r--src/Pages/ProfilePage/SignInForm.tsx54
3 files changed, 0 insertions, 154 deletions
diff --git a/src/Pages/ProfilePage/ProfileInfo.tsx b/src/Pages/ProfilePage/ProfileInfo.tsx
deleted file mode 100644
index 8fce8df..0000000
--- a/src/Pages/ProfilePage/ProfileInfo.tsx
+++ /dev/null
@@ -1,75 +0,0 @@
-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;
diff --git a/src/Pages/ProfilePage/ProfilePage.tsx b/src/Pages/ProfilePage/ProfilePage.tsx
deleted file mode 100644
index ee95769..0000000
--- a/src/Pages/ProfilePage/ProfilePage.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import React from 'react';
-import { User } from '../../types';
-import SignInForm from './SignInForm';
-import ProfileInfo from './ProfileInfo';
-import Feed from '../../components/Feed/Feed';
-
-interface PropTypes {
- setUser: (newUser: User | undefined) => void;
- user: User | undefined;
-}
-
-const ProfilePage: React.FC<PropTypes> = ({ setUser, user }) => {
- return (
- user
- ? (
- <>
- <ProfileInfo id={user?._id} setUser={setUser} />
- <Feed page="Feed" />
- </>
- )
- : <SignInForm setUser={setUser} />
- );
-};
-
-export default ProfilePage;
diff --git a/src/Pages/ProfilePage/SignInForm.tsx b/src/Pages/ProfilePage/SignInForm.tsx
deleted file mode 100644
index 6e27535..0000000
--- a/src/Pages/ProfilePage/SignInForm.tsx
+++ /dev/null
@@ -1,54 +0,0 @@
-import React, { useRef } from 'react';
-import { makeStyles } from '@material-ui/core/styles';
-import TextField from '@material-ui/core/TextField';
-import Button from '@material-ui/core/Button';
-import { User } from '../../types';
-import { get } from '../../requests';
-
-interface PropTypes {
- setUser: (newUser: User) => void;
-}
-
-const useStyles = makeStyles(theme => ({
- root: {
- '& > *': {
- margin: theme.spacing(1),
- width: '25ch'
- },
- display: 'flex',
- flexDirection: 'column',
- alignItems: 'center',
- textAlign: 'center'
- }
-}));
-
-const SignInForm: React.FC<PropTypes> = ({ setUser }) => {
- const classes = useStyles();
- const inputRef = useRef<HTMLInputElement>();
-
- const onClick = () => {
- const username = inputRef.current?.value;
- if (username) {
- get(`/users?name=${username}`).then(response => {
- const user = response.data[0];
- setUser(user);
- localStorage.setItem('userId', user._id);
- });
- }
- };
-
- return (
- <form className={classes.root} noValidate autoComplete="off">
- <h1>Sign In</h1>
- <TextField inputRef={inputRef} id="standard-basic" label="Login" />
- <TextField
- id="standard-password-input"
- label="Password"
- type="password"
- />
- <Button variant="contained" onClick={onClick}>submit</Button>
- </form>
- );
-};
-
-export default SignInForm;