diff --git a/src/Suggestion.js b/src/Suggestion.js index f8c8f86..1dec132 100644 --- a/src/Suggestion.js +++ b/src/Suggestion.js @@ -10,6 +10,7 @@ import Recent from './reccomenders/Recent'; import similarityArtist from './reccomenders/similarityArtist'; import popLocaleAss from './reccomenders/popLocaleAss'; import PopRelLoc from './reccomenders/popRelLoc'; +import genreSimilarity from './reccomenders/genreSimilarity'; // and so on.. @@ -39,6 +40,7 @@ class Suggestion extends Component { return ( + diff --git a/src/TopBar.js b/src/TopBar.js index 5b3dead..689c56a 100644 --- a/src/TopBar.js +++ b/src/TopBar.js @@ -47,7 +47,7 @@ class TopBar extends Component { - + Genre diff --git a/src/VideoPlayer.js b/src/VideoPlayer.js index 668dcb5..f4077d9 100644 --- a/src/VideoPlayer.js +++ b/src/VideoPlayer.js @@ -15,12 +15,12 @@ class VideoPlayer extends React.Component { modestbranding: 1, fs: 0, iv_load_policy:3, - rel: 0 - //origin//: 'http://site1854.tw.cs.unibo.it' + rel: 0, + origin//: 'http://site1854.tw.cs.unibo.it' } }, - promise1: null, - promise2: null, + promise1: Promise, + promise2: Promise, outsideReject1: null, outsideReject2: null }; @@ -42,7 +42,7 @@ class VideoPlayer extends React.Component { // access to player in all event handlers via event.target _onError(event) { - this.setState({error:event.data}); + console.error('Player error: ', event); } _onPlay(event) {} @@ -65,7 +65,7 @@ class VideoPlayer extends React.Component { default: break; } - }, 500); + }, 1500); this.setState({ outsideReject2: reject }); }) }); @@ -77,8 +77,8 @@ class VideoPlayer extends React.Component { promise1: new Promise((resolve, reject) => { timerId1 = window.setInterval(() => { if (event.target.getCurrentTime() > 15) - resolve(event.target.j.videoData.video_id); - }, 1000); + resolve(event.target.getVideoData().video_id); + }, 1200); this.setState({ outsideReject1: reject }); }) }); diff --git a/src/index.js b/src/index.js index 300f4ff..ac22ee3 100644 --- a/src/index.js +++ b/src/index.js @@ -1,13 +1,13 @@ -import 'react-app-polyfill/ie9'; -//import 'bootstrap/dist/css/bootstrap.css'; +// import 'bootstrap/dist/css/bootstrap.css'; // import './css/bootswatch/darkly/bootstrap.min.css' import './css/bootswatch/superhero/bootstrap.min.css' +import 'react-app-polyfill/ie9'; //import '@babel/polyfill'; import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; import registerServiceWorker from './registerServiceWorker'; -import { HashRouter, BrowserRouter } from 'react-router-dom'; // eslint-disable-line +import { HashRouter, BrowserRouter } from 'react-router-dom'; // eslint-disable-line localStorage['lastWatched'] ? function (){}() : localStorage.setItem('lastWatched', JSON.stringify([])) localStorage['first'] ? function (){}() : localStorage.setItem('first', JSON.stringify([])) diff --git a/src/reccomenders/genreSimilarity.js b/src/reccomenders/genreSimilarity.js new file mode 100644 index 0000000..b4f31f8 --- /dev/null +++ b/src/reccomenders/genreSimilarity.js @@ -0,0 +1,74 @@ +import React, { Component } from 'react'; +import axios from 'axios'; +import {Card, Col, Tab, Tabs} from "react-bootstrap"; +import createpageToken from 'youtube-page-token'; +import {Link} from "react-router-dom"; +import moment from "moment"; + +class genreSimilarity extends Component { + state={ + items : [] + }; + + ISO_8601parse(a) { + return moment(a, moment.ISO_8601).format('ddd, DD/MM/YYYY hh:mm:ss'); + } + + componentDidMount() { + let pos = Math.floor(Math.random() * 100); + let pageToken = createpageToken(pos); + + axios.get("https://www.googleapis.com/youtube/v3/search", { + params: { + 'part': 'snippet', + 'topicId': localStorage['lastTopic'], + 'type': 'video', + 'maxResults': '21', + 'order' : 'viewCount', + 'pageToken' : pageToken, + 'key': 'AIzaSyA21Odw9UdfiOJnxvA_eDfOW0OxuUfHKig' + } + }).then( + response => { + this.setState({ + items: response.data.items, + }) + }, + error => { + console.error(error); + } + ) + } + + render(){ + const ISO_8601parse = this.ISO_8601parse; + return ( + {this.state.items.map(function (item,index) { + return( + + + + + + + {item.snippet.title}
+ {item.snippet.channelTitle} - {ISO_8601parse(item.snippet.publishedAt)} +
+
+ +
+ + ) + })} +
); + } +} + +export default genreSimilarity; \ No newline at end of file