track.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import play from '../play.svg'
  2. import pause from '../pause.svg'
  3. import {actionTrackPlay,actionTrackStop,actionSetPlaylist} from "../reducers";
  4. import {connect} from "react-redux";
  5. export const Track = ({player:{isPlaying,playlist,playlistIndex}={},
  6. playlistP,
  7. track={}, trackIndex=0,
  8. trackStop,setPlaylist}) => {
  9. const {originalFileName} = track
  10. return (
  11. <div className='Tracks'>
  12. {!isPlaying || playlist[playlistIndex]._id !== track._id ?
  13. (<button onClick={() => {
  14. setPlaylist(playlistP,trackIndex,track);
  15. }}>
  16. <img src={play} alt='play'/>
  17. </button>) : (<button onClick={() => trackStop()}>
  18. <img src={pause} alt='pause'/>
  19. </button>)}
  20. <span>{originalFileName}</span>
  21. </div>
  22. )
  23. }
  24. export const CTrack = connect(state => ({playlistP: state.promise.playlistById?.payload?.tracks || [], player: state.player}),
  25. {trackPlay: actionTrackPlay, trackStop: actionTrackStop,setPlaylist:actionSetPlaylist})(Track)