track.js 1.1 KB

123456789101112131415161718192021222324252627282930313233
  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,track}={},
  6. playlist,
  7. trackP={},trackIndex,
  8. trackStop,setPlaylist}) => {
  9. const {originalFileName} = trackP
  10. return (
  11. <div className='Tracks'>
  12. {!isPlaying || trackP !==track ?
  13. (<button onClick={() => {
  14. setPlaylist(playlist,trackIndex,trackP);
  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 => ({playlist: state.promise.playlistById?.payload?.tracks || [], player: state.player}),
  25. {trackPlay: actionTrackPlay, trackStop: actionTrackStop,setPlaylist:actionSetPlaylist})(Track)