|
@@ -2,49 +2,62 @@ import { type } from '@testing-library/user-event/dist/type'
|
|
|
import { jwtDecode, gql, backendURL } from '../App'
|
|
|
|
|
|
const audio = new Audio()
|
|
|
-audio.addEventListener('ended', (e) => {
|
|
|
- console.log('TRACK ended', e.target.src)
|
|
|
-})
|
|
|
-//добавить адд ивентлистенер на конецтрека
|
|
|
|
|
|
const actionTrackSet = (track, audio, playlist) =>
|
|
|
({
|
|
|
type: 'SET_TRACK',
|
|
|
- track: track, playlist: playlist,
|
|
|
+ track: track,
|
|
|
+ playlist: playlist,
|
|
|
duration: audio.duration,
|
|
|
currentTime: audio.currentTime,
|
|
|
volume: audio.volume
|
|
|
})
|
|
|
+
|
|
|
+const actionTrackSetDuration = (time) => {
|
|
|
+ console.log('STAVIM VERMYA', time)
|
|
|
+ return ({type: 'SET_DURATION', duration: time})
|
|
|
+}
|
|
|
+
|
|
|
+const actionTrackSetCurrTime = (time) => {
|
|
|
+ console.log('setim vremya', time)
|
|
|
+ return ({type: 'SET_CURRTIME', currentTime: time})
|
|
|
+}
|
|
|
const actionTrackPlay = () => ({type: 'PLAY_TRACK'})
|
|
|
-const actionTrackPause = (currentTime) =>
|
|
|
- ({
|
|
|
- type: 'PAUSE_TRACK',
|
|
|
- track:undefined,
|
|
|
- playlist: undefined,
|
|
|
- currentTime:currentTime,
|
|
|
- duration: undefined,
|
|
|
- voulume: undefined
|
|
|
- })
|
|
|
+const actionTrackPause = (currentTime) => ({type: 'PAUSE_TRACK', currentTime:currentTime})
|
|
|
|
|
|
-export const playTrack = (track, playlist) =>
|
|
|
- async dispatch => {
|
|
|
- console.log(audio.src.length, typeof audio.src)
|
|
|
- console.log('playTrack', track, playlist)
|
|
|
- if(audio.src.length === 0) {
|
|
|
- audio.src = backendURL + '/' + track.url
|
|
|
- console.log(audio.src)
|
|
|
- dispatch(actionTrackSet(track, audio, playlist))
|
|
|
- }
|
|
|
+export const setTrack = (track, playlist) =>
|
|
|
+ dispatch => {
|
|
|
+ audio.src = backendURL + '/' + track.url
|
|
|
+ dispatch(actionTrackSet(track, audio, playlist))
|
|
|
+ }
|
|
|
+
|
|
|
+export const playTrack = () =>
|
|
|
+ dispatch => {
|
|
|
dispatch(actionTrackPlay())
|
|
|
audio.play()
|
|
|
}
|
|
|
|
|
|
export const pauseTrack = () =>
|
|
|
dispatch => {
|
|
|
- audio.pause()
|
|
|
dispatch(actionTrackPause(audio.currentTime))
|
|
|
+ audio.pause()
|
|
|
}
|
|
|
|
|
|
+audio.addEventListener('ended', (e) => console.log('TRACK ended', e.target.src))
|
|
|
+audio.addEventListener('durationchange', (e) => {
|
|
|
+ actionTrackSetDuration(e.target.duration)
|
|
|
+})
|
|
|
+audio.ontimeupdate = (e) => dispatch => dispatch(actionTrackSetCurrTime(e.target.currentTime))
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
const actionPending = name => ({ type: 'PROMISE', status: 'PENDING', name })
|
|
|
const actionResolved = (name, payload) => ({ type: 'PROMISE', status: 'RESOLVED', name, payload })
|