Youtube music and video downloader

Link.jsx 1.0KB

123456789101112131415161718192021222324252627282930313233
  1. import React, {Component, PropTypes} from 'react';
  2. import { createContainer } from 'meteor/react-meteor-data';
  3. import { Converted } from '../api/links';
  4. import Options from './Options';
  5. import Video from './Video';
  6. class Link extends Component {
  7. render() {
  8. return (
  9. <li className="link">
  10. <span className="link-text" title={this.props.link.title}>{this.props.link.title}</span>
  11. <Options className="link-options" handlers={this.props.options}
  12. video={this.props.link} converted={this.props.converted}/>
  13. <button className="link-delete" onClick={this.props.remove}>&times;</button>
  14. </li>
  15. );
  16. }
  17. }
  18. Link.propTypes = {
  19. link: PropTypes.instanceOf(Video).isRequired,
  20. remove: PropTypes.func.isRequired,
  21. options: PropTypes.arrayOf(PropTypes.shape({
  22. type: PropTypes.string,
  23. handler: PropTypes.func
  24. })).isRequired,
  25. converted: PropTypes.object
  26. };
  27. export default createContainer(({link, converted_id, remove, options}) => {
  28. const converted = Converted.findOne(converted_id);
  29. return { link, remove, options, converted }
  30. }, Link);