/* eslint-disable */ import React, { Component } from "react"; import PropTypes from "prop-types"; import { connect } from "react-redux"; import axios from "axios"; //import '../App.css'; // Material-UI import withStyles from "@material-ui/core/styles/withStyles"; import { makeStyles, styled } from "@material-ui/core/styles"; import { Link } from "react-router-dom"; import Card from "@material-ui/core/Card"; import CardMedia from "@material-ui/core/CardMedia"; import CardContent from "@material-ui/core/CardContent"; import Button from "@material-ui/core/Button"; import Grid from "@material-ui/core/Grid"; import Chip from "@material-ui/core/Chip"; import Typography from "@material-ui/core/Typography"; import AddCircle from "@material-ui/icons/AddCircle"; import TextField from "@material-ui/core/TextField"; import VerifiedIcon from "@material-ui/icons/CheckSharp"; import Paper from "@material-ui/core/Paper"; import GridList from "@material-ui/core/GridList"; import GridListTile from "@material-ui/core/GridListTile"; import GridListTileBar from "@material-ui/core/GridListTileBar"; import Container from "@material-ui/core/Container"; // component import "../App.css"; import noImage from "../images/no-img.png"; import Writing_Microblogs from "../Writing_Microblogs"; const MyChip = styled(Chip)({ margin: 2, color: "primary" }); const styles = { button: { positon: "relative", float: "left", marginLeft: 30, marginTop: 20 }, paper: { // marginLeft: "10%", // marginRight: "10%" }, card: { marginBottom: 10 }, profileImage: { marginTop: 20 }, topicsContainer: { border: "lightgray solid 1px", marginTop: 20, paddingTop: 10, paddingBottom: 10, height: 300 }, addCircle: { width: 65, height: 65, marginTop: 10 }, username: { marginBottom: 100 } }; class user extends Component { state = { profile: null, imageUrl: null, topics: null, newTopic: null }; handleDelete = topic => { axios .delete(`/deleteTopic/${topic.id}`) .then(function() { location.reload(); }) .catch(function(err) { console.log(err); }); }; handleAddCircle = () => { axios .post("/putTopic", { topic: this.state.newTopic }) .then(function() { location.reload(); }) .catch(function(err) { console.log(err); }); }; handleChange(event) { this.setState({ newTopic: event.target.value }); } componentDidMount() { axios .get("/user") .then(res => { this.setState({ profile: res.data.credentials.handle, imageUrl: res.data.credentials.imageUrl, verified: res.data.credentials.verified ? res.data.credentials.verified : false, topics: res.data.credentials.followedTopics }); }) .catch(err => console.log(err)); axios .get("/getallPostsforUser") .then(res => { console.log(res.data); this.setState({ posts: res.data }); }) .catch(err => console.log(err)); } render() { const { classes } = this.props; let authenticated = this.props.user.authenticated; let profileMarkup = this.state.profile ? (
@{this.state.profile}{" "} {this.state.verified ? ( ) : null}
) : (

loading username...

); let topicsMarkup = this.state.topics ? ( this.state.topics.map( topic => ( this.handleDelete(topic)} /> ) // console.log({ topic }.topic.id) ) ) : (

 loading topics...

); let imageMarkup = this.state.imageUrl ? ( ) : ( ); let postMarkup = this.state.posts ? ( this.state.posts.map(post => ( {this.state.imageUrl ? ( ) : ( )} {post.userHandle} {post.createdAt}
{post.microBlogTitle} {post.body}
Topics: {post.microBlogTopics}
Likes {post.likeCount} Comments {post.commentCount}
)) ) : (

My Posts

); // FIX: This needs to check if user's profile page being displayed // is the same as the user who is logged in // Can't check for that right now, because this page is always // showing the logged in users profile, instead of retreiving the // profile based on the URL entered let editButtonMarkup = true ? ( ) : null; return (
{/* */} {editButtonMarkup} {/* */} {/* */} {imageMarkup} {profileMarkup} {/* */} {/* */} {/* {postMarkup} */} {/* */} {/* */} {topicsMarkup} this.handleChange(event)} /> {postMarkup}
); } } const mapStateToProps = state => ({ user: state.user }); user.propTypes = { user: PropTypes.object.isRequired }; export default connect(mapStateToProps)(withStyles(styles)(user));