|
@@ -1,106 +0,0 @@
|
|
|
-import {useCallback,useState,useEffect,useRef} from "react";
|
|
|
-import play from '../play.svg'
|
|
|
-import pause from '../pause.svg'
|
|
|
-import {store,actionTrackPlay,actionTrackStop} from "../reducers";
|
|
|
-import {connect} from "react-redux";
|
|
|
-import {actionFindMyTracks, backURL} from "../actions";
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-const defaultTracks = [
|
|
|
- {
|
|
|
- "_id": "5fe35e5be926687ee86b0a49",
|
|
|
- "url": "track/7352b53f3af39db41ffb152acadd11b2",
|
|
|
- "originalFileName": "Фруктовый Кефир - Тому, кто не дружит со своей головой (zoop.su).mp3"
|
|
|
- },
|
|
|
- {
|
|
|
- "_id": "5fe35e5be926687ee86b0a4a",
|
|
|
- "url": "track/254f8d37a4c62ccef0bf1834a43eac54",
|
|
|
- "originalFileName": "Фруктовый Кефир - Убиваю время (zoop.su).mp3"
|
|
|
- },
|
|
|
- {
|
|
|
- "_id": "5fe35e5be926687ee86b0a4b",
|
|
|
- "url": "track/710d8b4ee31df560f7d46dd745cce690",
|
|
|
- "originalFileName": "Фруктовый Кефир - Туча (zoop.su).mp3"
|
|
|
- },
|
|
|
- {
|
|
|
- "_id": "5fe35e5ce926687ee86b0a4c",
|
|
|
- "url": "track/76c3e402d9ed7b3e54640462af7e68bf",
|
|
|
- "originalFileName": "Фруктовый Кефир - Капюшон. Парашют (zoop.su).mp3"
|
|
|
- },
|
|
|
- {
|
|
|
- "_id": "5fe35e5ce926687ee86b0a4d",
|
|
|
- "url": "track/6209eae2563b6a3d0471663fcaf0aede",
|
|
|
- "originalFileName": "Фруктовый Кефир - На своей Волне (zoop.su).mp3"
|
|
|
- },]
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-//<audio controls src={backURL+'/'+url}></audio>
|
|
|
-export const Track = ({track:{id,url,originalFileName},trackPlay,trackStop}) => {
|
|
|
- let audio = new Audio()
|
|
|
- let audioSrc = backURL + '/'+ url
|
|
|
- const [isPlaying, setIsPlaying] = useState(false);
|
|
|
-
|
|
|
- return (
|
|
|
- <div className='Tracks'>
|
|
|
- {isPlaying ? (
|
|
|
- <button onClick={() => trackPlay({audio})}>
|
|
|
- <img src={pause}/>
|
|
|
- </button>
|
|
|
- ) : (
|
|
|
- <button onClick={() => trackStop({audio})}>
|
|
|
- <img src={play}/>
|
|
|
- </button>
|
|
|
- )}
|
|
|
- <span>{originalFileName}</span>
|
|
|
- </div>
|
|
|
- )
|
|
|
-}
|
|
|
-
|
|
|
-export const CTrack = connect(null, {trackPlay: actionTrackPlay, trackStop: actionTrackStop})(Track)
|
|
|
-
|
|
|
-// const Track = ({track:{id,url,originalFileName}}) => {
|
|
|
-//
|
|
|
-// let audioSrc = backURL + '/'+ url
|
|
|
-// const [isPlaying, setIsPlaying] = useState(false);
|
|
|
-// const audioRef = useRef(new Audio(audioSrc));
|
|
|
-//
|
|
|
-// useEffect(() => {
|
|
|
-// if (isPlaying) {
|
|
|
-// audioRef.current.play();
|
|
|
-// } else {
|
|
|
-// audioRef.current.pause();
|
|
|
-// }
|
|
|
-// }, [isPlaying]);
|
|
|
-//
|
|
|
-// return (
|
|
|
-// <div className='Tracks'>
|
|
|
-// {isPlaying ? (
|
|
|
-// <button onClick={() => setIsPlaying(false)}>
|
|
|
-// <img src={pause}/>
|
|
|
-// </button>
|
|
|
-// ) : (
|
|
|
-// <button onClick={() => setIsPlaying(true)}>
|
|
|
-// <img src={play}/>
|
|
|
-// </button>
|
|
|
-// )}
|
|
|
-// <span>{originalFileName}</span>
|
|
|
-// </div>
|
|
|
-// )
|
|
|
-// }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-const Player = ({tracks=defaultTracks}) => {
|
|
|
-
|
|
|
- return(
|
|
|
- <div>
|
|
|
- {tracks.map(track => <Track track={track}/> )}
|
|
|
- </div>
|
|
|
- )
|
|
|
-}
|
|
|
-export const CPlayer = connect(state => ({tracks: state.promise.findMyTracks1?.payload || []}))(Player)
|
|
|
-
|
|
|
-
|