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
+3 -3
View File
@@ -17,7 +17,7 @@ const Player = () => {
theme: playerTheme, theme: playerTheme,
bounds: 'body', bounds: 'body',
mode: 'full', mode: 'full',
autoPlay: true, autoPlay: false,
preload: true, preload: true,
autoPlayInitLoadPlayList: true, autoPlayInitLoadPlayList: true,
clearPriorAudioLists: false, clearPriorAudioLists: false,
@@ -63,7 +63,7 @@ const Player = () => {
const addQueueToOptions = (queue) => { const addQueueToOptions = (queue) => {
return { return {
...defaultOptions, ...defaultOptions,
autoPlay: true, autoPlay: queue.playing,
clearPriorAudioLists: queue.clear, clearPriorAudioLists: queue.clear,
audioLists: queue.queue.map((item) => item), audioLists: queue.queue.map((item) => item),
} }
@@ -108,7 +108,7 @@ const Player = () => {
/> />
) )
} }
return <div /> return null
} }
export default Player export default Player
+11 -6
View File
@@ -43,7 +43,7 @@ const scrobbled = (id) => ({
}) })
const playQueueReducer = ( const playQueueReducer = (
previousState = { queue: [], clear: true }, previousState = { queue: [], clear: true, playing: false },
payload payload
) => { ) => {
let queue let queue
@@ -52,11 +52,16 @@ const playQueueReducer = (
case PLAYER_ADD_TRACK: case PLAYER_ADD_TRACK:
queue = previousState.queue queue = previousState.queue
queue.push(mapToAudioLists(data)) queue.push(mapToAudioLists(data))
return { queue, clear: false } return { ...previousState, queue, clear: false }
case PLAYER_SET_TRACK: case PLAYER_SET_TRACK:
return { queue: [mapToAudioLists(data)], clear: true } return {
...previousState,
queue: [mapToAudioLists(data)],
clear: true,
playing: true,
}
case PLAYER_SYNC_QUEUE: case PLAYER_SYNC_QUEUE:
return { queue: data, clear: false } return { ...previousState, queue: data, clear: false }
case PLAYER_SCROBBLE: case PLAYER_SCROBBLE:
const newQueue = previousState.queue.map((item) => { const newQueue = previousState.queue.map((item) => {
return { return {
@@ -64,7 +69,7 @@ const playQueueReducer = (
scrobbled: item.scrobbled || item.trackId === data, scrobbled: item.scrobbled || item.trackId === data,
} }
}) })
return { queue: newQueue, clear: false } return { ...previousState, queue: newQueue, clear: false, playing: true }
case PLAYER_PLAY_ALBUM: case PLAYER_PLAY_ALBUM:
queue = [] queue = []
let match = false let match = false
@@ -76,7 +81,7 @@ const playQueueReducer = (
queue.push(mapToAudioLists(data[id])) queue.push(mapToAudioLists(data[id]))
} }
}) })
return { queue, clear: true } return { ...previousState, queue, clear: true, playing: true }
default: default:
return previousState return previousState
} }
+2
View File
@@ -36,6 +36,8 @@ export default ({
compose compose
const persistedState = loadState() const persistedState = loadState()
// TODO Better encapsulate state in general
persistedState.queue.playing = false
const store = createStore( const store = createStore(
resettableAppReducer, resettableAppReducer,
persistedState, persistedState,