import React from 'react'; import style from './RandomPage.module.css'; import SideBar, {SideBarTitle} from '../../elements/SideBar/SideBar'; import Tag from '../../elements/Tag/Tag'; import PageTitle from '../../elements/PageTitle/PageTitle'; import VideoContainer from '../../elements/VideoContainer/VideoContainer'; import {callAPI} from '../../utils/Api'; /** * Randompage shuffles random viedeopreviews and provides a shuffle btn */ class RandomPage extends React.Component { constructor(props, context) { super(props, context); this.state = { videos: [], tags: [] }; } componentDidMount() { this.loadShuffledvideos(4); } render() { return (
Visible Tags: {this.state.tags.map((m) => ( {m.tag_name} ))} {this.state.videos.length !== 0 ?
:
No Data found!
}
); } /** * click handler for shuffle btn */ shuffleclick() { this.loadShuffledvideos(4); } /** * load random videos from backend * @param nr number of videos to load */ loadShuffledvideos(nr) { callAPI('video.php', {action: 'getRandomMovies', number: nr}, result => { console.log(result); this.setState({videos: []}); // needed to trigger rerender of main videoview this.setState({ videos: result.rows, tags: result.tags }); }); } } export default RandomPage;