import Grid from 'react-css-grid'
import React from 'react';
import PropTypes from 'prop-types';
import VideoItem from "./VideoItem";
import RandomItemTitle from "./SectionHeading";
import {Link} from 'react-router-dom';
class RandomTopic extends React.Component {

  shuffleTopic() {
    this.props.getRandomTopicVideos(this.props.allTopics);
  }

  render() {
    return (
      <section>
        <h2 className="section-heading">from the Archive Topics - من مواضيع الارشيف</h2>
        <RandomItemTitle title={this.props.topicName}
                         count={this.props.topicCount}
                         src={'/topic/' + this.props.topicName}
        />
        <Grid
          width={450}
        >
          {/* View all topics button*/}
          <Link to="/topics">
            <button className="view-all-topics">
              <span className="english-text">All Topics - </span>
              <span className="arabic-text"> جميع المواضيع </span>
            </button>
          </Link>
          {/* Shuffle button */}
          <button className="shuffle-button" onClick={this.shuffleTopic.bind(this)}>
            <span className="english-text">Shuffle Topics - </span>
            <span className="arabic-text"> موضوع عشوائي </span>
            <i className="fa fa-random"></i>
          </button>
        </Grid>

        <Grid className="random-topics"
              width={220}
              gap={12}>
          {this.props.videos.map(video =>
            <VideoItem id={video.id} key={video.id} title={video.title}/>
          )}
        </Grid>
      </section>

    )
  }
}

RandomTopic.propTypes = {
  topicName: PropTypes.string,
  allTopics: PropTypes.array,
  videos: PropTypes.array,
  loading: PropTypes.bool,
  topicCount: PropTypes.number,
  getRandomTopicVideos: PropTypes.func
};

export default (RandomTopic);