SongItem.jsx 759 B

12345678910111213141516171819202122232425262728
  1. import React, { Component } from "react";
  2. import PropTypes from "prop-types";
  3. import { formatTime } from "utils";
  4. import { fallbackImage } from "constants.js";
  5. import { connect } from "react-redux";
  6. export default class SongItem extends Component {
  7. constructor(props) {
  8. super(props);
  9. }
  10. render() {
  11. const { song, callback } = this.props;
  12. return (
  13. <li>
  14. <img src={ song.thumbnail } onError={function(e) {e.target.src=fallbackImage}}/>
  15. <a href={ song.url } target="_blank">{ song.title }</a>
  16. <div>
  17. { /*<span className="duration">{ formatTime(song.duration) }</span>*/ }
  18. <span onClick={ () => { callback(song.songId); } } className="add" tabIndex="0"><i className="material-icons">add</i></span>
  19. </div>
  20. </li>
  21. );
  22. }
  23. }