diff --git a/src/TopBar.js b/src/TopBar.js index 142b71a..36bb62d 100644 --- a/src/TopBar.js +++ b/src/TopBar.js @@ -58,8 +58,10 @@ class TopBar extends Component { } { - + + Assoluta + Relativa diff --git a/src/areainfo/Suggestion.js b/src/areainfo/Suggestion.js index 2773d09..87335e1 100644 --- a/src/areainfo/Suggestion.js +++ b/src/areainfo/Suggestion.js @@ -5,6 +5,7 @@ import Random from '../reccomenders/Random'; import Related from '../reccomenders/Related'; import Search from '../reccomenders/Search'; import fvitali from '../reccomenders/fvitali'; +import popGlobaleAssoluta from '../reccomenders/popGlobaleAssoluta'; // and so on.. @@ -38,6 +39,7 @@ class Suggestion extends Component { + {/* lasciare questo per ultimo */} diff --git a/src/reccomenders/popGlobaleAssoluta.js b/src/reccomenders/popGlobaleAssoluta.js new file mode 100644 index 0000000..b3fffef --- /dev/null +++ b/src/reccomenders/popGlobaleAssoluta.js @@ -0,0 +1,127 @@ +import React from 'react'; +import { Col, ListGroup, Card, CardDeck } from 'react-bootstrap'; // eslint-disable-line no-unused-vars +import axios from 'axios'; // eslint-disable-line no-unused-vars +import { Link } from 'react-router-dom'; // eslint-disable-line no-unused-vars +import moment from "moment"; + +class popGlobaleAssoluta extends React.Component { + state = { + error: null, + isLoaded: false, + items: [], + headers: null + }; + + ISO_8601parse(a) { + return moment(a, moment.ISO_8601).format('ddd, DD/MM/YYYY hh:mm:ss'); + } + + componentDidMount() { + // let listSiti = ['1828', '1829', '1838', '1839', '1846', '1822', '1847', '1831', '1827', '1848', '1824', '1830', '1836', '1850', '1849', '1851', '1861', '1823', '1863', '1834', '1904', '1906', '1901', '1862', '1859']; + let listSiti = ['1828', '1838', '1839', '1846', '1847', '1831', '1827', '1848',, '1849', '1851', '1823', '1863', '1834', '1904', '1901', '1862', '1859']; + axios.all(listSiti.map(sito => { + axios.get(`http://site${sito}.tw.cs.unibo.it/globpop`, { + 'params': { + 'id': this.props.match.params.id + } + }) + })).then( res=>{console.log(res.data)} + + + ) + } + + // METODI + getThumbnailsNames(reccomended) { + let idToLookFor = reccomended.map(item => item.videoID); + axios.get('https://www.googleapis.com/youtube/v3/videos', { + params: { + part: 'snippet', + id: idToLookFor.toString(), + key: 'AIzaSyA21Odw9UdfiOJnxvA_eDfOW0OxuUfHKig', + fields: 'items(id,snippet/thumbnails/medium,snippet/title)' + } + }) + + .then( + res1 => { + res1.data.items.map(resCurrentValue => { + Object.defineProperties( + reccomended.find(videoItem => { + return videoItem.videoID === resCurrentValue.id; + }), + { + 'thumbnail': + { value: resCurrentValue.snippet.thumbnails.medium.url }, + 'name': + { value: resCurrentValue.snippet.title } + }); + }); + this.setState({ + isLoaded: true, + items: reccomended + }); + }) + } + + + + /*shuffleArray(videoarray) { + for (let i = videoarray.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [videoarray[i], videoarray[j]] = [videoarray[j], videoarray[i]]; // eslint-disable-line no-param-reassign + } + // Durstenfeld shuffle. + // https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#The_modern_algorithm + }*/ + + render() { + const ISO_8601parse = this.ISO_8601parse; + const { error, isLoaded, items, headers } = this.state; + if (error) { + return ( + + Error: {error.message} -- Cannot get {error.config.url} + + ); + } else if (!isLoaded) { + return ( + + +

Loading...

+ +
+ ); + } else { + return ( + + {items.map(item => ( + + + + + + {item.name}
+ {item.lastSelected} +
+
+ +
+ ))} + +
+ ); + } + } +} + + + +export default popGlobaleAssoluta; \ No newline at end of file