import React from 'react'; import Notifications, {notify} from 'react-notify-toast'; // StyleComponents import searchObjectCSS from './styles/searchObject.jsx'; import buttonsCSS from './styles/buttons.jsx'; import InfoButton from './buttons/InfoButton.jsx'; var MediaQuery = require('react-responsive'); import { fetchJSON } from './http.jsx'; import Interactive from 'react-interactive'; class SearchObject { constructor(object) { this.id = object.id; this.title = object.title; this.year = object.year; this.type = object.type; this.rating = object.rating; this.poster = object.poster_path; this.background = object.background_path; this.matchedInPlex = object.matchedInPlex; this.summary = object.summary; } requestExisting(movie) { console.log('Exists', movie); } requestMovie() { fetchJSON('https://apollo.kevinmidboe.com/api/v1/plex/request/' + this.id + '?type='+this.type, 'POST') .then((response) => { console.log(response); notify.show(this.title + ' requested!', 'success', 3000); }) .catch((e) => { console.error('Request movie fetch went wrong: '+ e); }) } getElement(index) { const element_key = index + this.id; if (this.poster == null || this.poster == undefined) { var posterPath = 'https://openclipart.org/image/2400px/svg_to_png/211479/Simple-Image-Not-Found-Icon.png' } else { var posterPath = 'https://image.tmdb.org/t/p/w185' + this.poster; } var backgroundPath = 'https://image.tmdb.org/t/p/w640_and_h360_bestv2/' + this.background; var foundInPlex; if (this.matchedInPlex) { foundInPlex = {this.requestExisting(this)}} style={buttonsCSS.submit} focus={buttonsCSS.submit_hover} hover={buttonsCSS.submit_hover}> Request Anyway ; } else { foundInPlex = {this.requestMovie()}} style={buttonsCSS.submit} focus={buttonsCSS.submit_hover} hover={buttonsCSS.submit_hover}> + Request ; } // TODO go away from using mediaQuery, and create custom resizer return (
{this.title}

Released: { this.year } | Rating: {this.rating} | Type: {this.type}

{this.summary}

{this.title}

Released: {this.year} | Rating: {this.rating}
{foundInPlex}

) } } export default SearchObject;