aboutsummaryrefslogtreecommitdiff
path: root/src/pages/Profile/Profile.js
diff options
context:
space:
mode:
authoreug-vs <eug-vs@keemail.me>2020-03-21 15:44:40 +0300
committereug-vs <eug-vs@keemail.me>2020-03-21 15:44:40 +0300
commit146947a665dbc1d2960d2062a22a106de0c71062 (patch)
tree11f4f4ccf2331e580e2a6f0df5a7e4279c0d5f5e /src/pages/Profile/Profile.js
parent2e9e20414c2ea49d7f40bcff09b89897e13fd2f4 (diff)
downloadchrono-cube-ui-146947a665dbc1d2960d2062a22a106de0c71062.tar.gz
chore: migrate profile page to Typescript :label:
Diffstat (limited to 'src/pages/Profile/Profile.js')
-rw-r--r--src/pages/Profile/Profile.js88
1 files changed, 0 insertions, 88 deletions
diff --git a/src/pages/Profile/Profile.js b/src/pages/Profile/Profile.js
deleted file mode 100644
index 65c3734..0000000
--- a/src/pages/Profile/Profile.js
+++ /dev/null
@@ -1,88 +0,0 @@
-import React, { useState, useEffect } from 'react';
-
-import {
- Button,
- makeStyles,
-} from '@material-ui/core';
-
-import Registration from './Registration/Registration';
-import {
- Window,
- ContentSection,
- SmartList,
-} from 'react-benzin';
-
-import SolutionCard from '../../components/SolutionCard/SolutionCard';
-
-import { get } from '../../requests';
-
-
-const useStyles = makeStyles(theme => ({
- primary: {
- padding: theme.spacing(4),
- },
- cell: {
- padding: theme.spacing(5),
- },
-}));
-
-
-const Profile = ({ user, setUser }) => {
- const classes = useStyles();
-
- const [profileSolutions, setProfileSolutions] = useState([]);
-
- const handleLogout = () => {
- setUser({ username: 'anonymous', id: null });
- localStorage.clear();
- };
-
- useEffect(() => {
- get(`solutions/?author=${user.id}`).then(response => {
- setProfileSolutions(response.data.reverse());
- });
- }, [user]);
-
- const removeSolution = (id) => {
- setProfileSolutions(profileSolutions.filter((solution => solution.id !== id)));
- };
-
- const renderItem = ({ index, style }) => {
- return (
- <div style={style} className={classes.cell}>
- <SolutionCard data={profileSolutions[index]} removeThisCard={removeSolution} />
- </div>
- );
- };
-
- return (
- <>
- <Window type="primary">
- <div className={classes.primary}>
- { user.id? (
- <ContentSection sectionName={`Welcome back, ${user.username}!`}>
- <p> Total amount of solutions: {profileSolutions.length} </p>
- <p> You can always log out from your account! </p>
- <Button variant="contained" color="secondary" onClick={handleLogout}>
- Logout
- </Button>
- </ContentSection>
- ): (
- <Registration setUser={setUser} />
- )
- }
- </div>
- </Window>
- <Window type="secondary" name="History">
- <SmartList
- itemSize={270}
- itemCount={profileSolutions.length}
- renderItem={renderItem}
- />
- </Window>
- </>
- )
-};
-
-
-export default Profile;