/* 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 and React Router import { makeStyles, styled } from "@material-ui/core/styles"; import withStyles from "@material-ui/core/styles/withStyles"; 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 DoneIcon from "@material-ui/icons/Done"; // 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: 5 }, 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 { constructor() { super(); this.state = { profile: window.location.pathname.split("/").pop(), imageUrl: null, topics: null, user: null, following: null, posts: null, myTopics: null }; } handleSub = () => { if (this.state.following === true) { axios .post("/removeSub", { unfollow: this.state.profile }) .then(res => { console.log("removed sub"); this.setState({ following: false }); }) .catch(function(err) { console.log(err); }); } else { axios .post("/addSubscription", { following: this.state.profile }) .then(res => { console.log("adding sub"); this.setState({ following: true }); }) .catch(function(err) { console.log(err); }); } }; componentDidMount() { axios .post("/getUserDetails", { handle: this.state.profile }) .then(res => { this.setState({ imageUrl: res.data.userData.imageUrl, topics: res.data.userData.followedTopics }); }) .catch(err => console.log(err)); axios .get("/user") .then(res => { this.setState({ following: res.data.credentials.following.includes( this.state.profile ), myTopics: res.data.credentials.followedTopics }); }) .catch(err => console.log(err)); axios .post("/getOtherUsersPosts", { handle: this.state.profile }) .then(res => { // console.log(res.data); this.setState({ posts: res.data }); }) .catch(err => console.log(err)); } render() { const { classes } = this.props; let followMarkup = this.state.following ? ( ) : ( ); let profileMarkup = this.state.profile ? (
loading username...
); console.log(this.state.topics); console.log(this.state.myTopics); let topicsMarkup = this.state.topics ? ( this.state.topics.map( topic => this.state.myTopics ? ( this.state.myTopics.includes(topic) ? (no topic yet
); let imageMarkup = this.state.imageUrl ? (Posts
); return (