import React, { Component } from 'react' import { Link } from 'react-router-dom' import './PhoneOfferComponent.css' import StarBorderIcon from '@mui/icons-material/StarBorder'; import StarIcon from '@mui/icons-material/Star'; import Tippy from '@tippyjs/react'; import axios from 'axios'; import UserContext from '../../context/UserContext'; import VisibilityIcon from '@mui/icons-material/Visibility'; import CheckIcon from '@mui/icons-material/Check'; import CompareIcon from '@mui/icons-material/Compare'; import BookmarkRemoveIcon from '@mui/icons-material/BookmarkRemove'; export class PhoneOfferComponent extends Component { constructor(props) { super(props) this.state = { } } addToFavourite = () => { var config = { method: 'put', url: '/user/'+this.context.userId+'/addoffer/'+this.props.id, headers: { 'Authorization': 'Bearer '+localStorage.getItem('token') } }; axios(config) .then(response => { this.props.getFavouriteOffersForLoggedUser() }) .catch(error => { console.log(error) }) } removeFromFavourite = () => { var config = { method: 'put', url: '/user/'+this.context.userId+'/removeoffer/'+this.props.id, headers: { 'Authorization': 'Bearer '+localStorage.getItem('token') } }; axios(config) .then(response => { this.props.getFavouriteOffersForLoggedUser() }) .catch(error => { console.log(error); }); } getCheaperOffers = () =>{ var config = { method: 'get', url: '/phoneoffer/'+this.props.id+'/cheaperoffers', headers: { } }; axios(config) .then(response => { this.props.handleOpen(response.data,this.props.price) }) .catch(error => { console.log(error); }); } handleOfferCompare = () => { let offersToCompare = [] if(localStorage.getItem('offersToCompare')) { offersToCompare = JSON.parse(localStorage.getItem('offersToCompare')) } if(!offersToCompare.includes(this.props.id) && offersToCompare.length<5) { offersToCompare.push(this.props.id) } else{ offersToCompare = offersToCompare.filter(offer => offer != this.props.id) } localStorage.setItem('offersToCompare', JSON.stringify(offersToCompare)) this.forceUpdate() } render() { return ( {this.props.offer_shop} {this.props.offer_name} {this.props.price} ден. {/* if else jsx syntax here to add icon */} {(() => { if(!localStorage.getItem('token')) { return <> } if(localStorage.getItem('offersToCompare') && localStorage.getItem('offersToCompare').includes(this.props.id)) { return } else{ return } })()} {/* { localStorage.getItem('token') && !localStorage.getItem('offersToCompare').includes(this.props.id)? : <> } */} { window.location.href.split('/')[5] == 'favouriteoffers' ? : <> } { localStorage.getItem('token') && this.props.loggedUserFavouriteOffers.filter(offer => offer.id == this.props.id).length == 0? : <> } { localStorage.getItem('token') && this.props.loggedUserFavouriteOffers.filter(offer => offer.id == this.props.id).length != 0? : <> } ) } } PhoneOfferComponent.contextType = UserContext export default PhoneOfferComponent