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';

// Refactor
class RandomTopic extends React.Component {

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

  render() {
    return (
      <section className="random-item-container">
        <h2 className="section-heading">
          <span className="arabic-text random-section-title">من مواضيع الارشيف</span>
          <br/>
          {/*<span className="english-text bold-english-text">topics from the Archive   </span>*/}
          <span className="section-title">
          <span className='english-text bold-english-text random-section-title'> topics from the archive
        </span>
          </span>
        </h2>

        <Grid
          className={"buttons-grid"}
          width={450}
        >
          {/* View all topics button*/}
          <Link className="view-items-link" to="/topics">
            <button className="view-all-items">
              <span className="highlighted-text">
                <span className="english-text"> all topics    &nbsp; </span>
              <span className="arabic-text"> 	 جميع المواضيع	</span>
              </span>
            </button>
          </Link>
          {/* Shuffle button */}
          <button className="shuffle-button" onClick={this.shuffleTopic.bind(this)}>
            <span className="arabic-text"> موضوع عشوائي </span>
            <span className="english-text">&nbsp; shuffle topics  </span>
            &nbsp;
            <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>
        <RandomItemTitle title={this.props.topicName}
                         count={this.props.topicCount}
                         src={'/results/topic/' + this.props.topicName}
        />
      </section>

    )
  }
}

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

export default (RandomTopic);