PlaylistItem.jsx 1011 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import React, { Component } from "react";
  2. import PropTypes from "prop-types";
  3. import { actionCreators as stationInfoActionCreators } from "ducks/stationInfo";
  4. import { bindActionCreators } from "redux";
  5. import { connect } from "react-redux";
  6. @connect(state => ({
  7. station: {
  8. playlistSelectedId: state.station.info.get("privatePlaylistQueue"),
  9. },
  10. }),
  11. (dispatch) => ({
  12. onSelectPlaylist: bindActionCreators(stationInfoActionCreators.selectPlaylistQueue, dispatch),
  13. }))
  14. export default class PlaylistItem extends Component {
  15. constructor(props) {
  16. super(props);
  17. }
  18. getPlaylistAction = (playlistId) => {
  19. if (playlistId === this.props.station.playlistSelectedId) {
  20. return <span>SELECTED</span>;
  21. } else return <span onClick={ () => { this.props.onSelectPlaylist(playlistId); } }>SELECT</span>;
  22. }
  23. render() {
  24. const { playlist } = this.props;
  25. return (
  26. <li style={{color: "black"}}>
  27. { playlist.get("displayName") } - { this.getPlaylistAction(playlist.get("playlistId")) }
  28. </li>
  29. );
  30. }
  31. }