import React from 'react'; import Notifications, {notify} from 'react-notify-toast'; // StyleComponents import movieStyle from './styles/movieObjectStyle.jsx'; var MediaQuery = require('react-responsive'); import RequestButton from './buttons/request_button.jsx'; import { fetchJSON } from './http.jsx'; class MovieObject { constructor(object) { this.id = object.id; this.title = object.title; this.year = object.year; this.type = object.type; // Check if object.poster != undefined this.rating = object.rating; this.poster = object.poster; this.background = object.background; this.matchedInPlex = object.matchedInPlex; this.summary = object.summary; } requestExisting(movie) { console.log('Exists', movie); } requestMovie() { // fetch('http://localhost:31459/api/v1/plex/request/' + this.id + '?type='+this.type, { // fetch('https://apollo.kevinmidboe.com/api/v1/plex/request/' + this.id + '?type='+this.type, { // method: 'POST' // }); 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); } getElement(index) { const element_key = index + this.id; // TODO set the poster image async by updating the dom after this is returned 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/w300' + this.poster; } var backgroundPath = 'https://image.tmdb.org/t/p/w640_and_h360_bestv2/' + this.background; var foundInPlex; if (this.matchedInPlex) { foundInPlex = ; } else { foundInPlex = ; } if (this.type === 'movie') var themoviedbLink = 'https://www.themoviedb.org/movie/' + this.id else if (this.type === 'show') var themoviedbLink = 'https://www.themoviedb.org/tv/' + this.id // TODO add request button class return (
{this.title}

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

{this.summary}

{this.title}

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


) } } export default MovieObject;