Turn off autoplay when reloading the play queue from the Redux store

This commit is contained in:
Deluan 2020-04-24 20:38:03 -04:00 committed by Deluan Quintão
parent 61e3fe21ff
commit 177ace1cee
3 changed files with 16 additions and 9 deletions

View File

@ -17,7 +17,7 @@ const Player = () => {
theme: playerTheme,
bounds: 'body',
mode: 'full',
autoPlay: true,
autoPlay: false,
preload: true,
autoPlayInitLoadPlayList: true,
clearPriorAudioLists: false,
@ -63,7 +63,7 @@ const Player = () => {
const addQueueToOptions = (queue) => {
return {
...defaultOptions,
autoPlay: true,
autoPlay: queue.playing,
clearPriorAudioLists: queue.clear,
audioLists: queue.queue.map((item) => item),
}
@ -108,7 +108,7 @@ const Player = () => {
/>
)
}
return <div />
return null
}
export default Player

View File

@ -43,7 +43,7 @@ const scrobbled = (id) => ({
})
const playQueueReducer = (
previousState = { queue: [], clear: true },
previousState = { queue: [], clear: true, playing: false },
payload
) => {
let queue
@ -52,11 +52,16 @@ const playQueueReducer = (
case PLAYER_ADD_TRACK:
queue = previousState.queue
queue.push(mapToAudioLists(data))
return { queue, clear: false }
return { ...previousState, queue, clear: false }
case PLAYER_SET_TRACK:
return { queue: [mapToAudioLists(data)], clear: true }
return {
...previousState,
queue: [mapToAudioLists(data)],
clear: true,
playing: true,
}
case PLAYER_SYNC_QUEUE:
return { queue: data, clear: false }
return { ...previousState, queue: data, clear: false }
case PLAYER_SCROBBLE:
const newQueue = previousState.queue.map((item) => {
return {
@ -64,7 +69,7 @@ const playQueueReducer = (
scrobbled: item.scrobbled || item.trackId === data,
}
})
return { queue: newQueue, clear: false }
return { ...previousState, queue: newQueue, clear: false, playing: true }
case PLAYER_PLAY_ALBUM:
queue = []
let match = false
@ -76,7 +81,7 @@ const playQueueReducer = (
queue.push(mapToAudioLists(data[id]))
}
})
return { queue, clear: true }
return { ...previousState, queue, clear: true, playing: true }
default:
return previousState
}

View File

@ -36,6 +36,8 @@ export default ({
compose
const persistedState = loadState()
// TODO Better encapsulate state in general
persistedState.queue.playing = false
const store = createStore(
resettableAppReducer,
persistedState,