add clear queue button

This commit is contained in:
Thomas Amland 2021-03-14 13:03:43 +01:00
parent 92179f4914
commit 43592bce8a
2 changed files with 17 additions and 0 deletions

View File

@ -1,5 +1,13 @@
<template> <template>
<div> <div>
<div class="d-flex justify-content-between align-items-center mb-2">
<h1 class="mb-0">
Playing
</h1>
<b-button variant="secondary" @click="clear()">
Clear
</b-button>
</div>
<TrackList :tracks="tracks"> <TrackList :tracks="tracks">
<template #context-menu="{index}"> <template #context-menu="{index}">
<b-dropdown-item-button @click="remove(index)"> <b-dropdown-item-button @click="remove(index)">
@ -26,6 +34,7 @@
methods: { methods: {
...mapMutations('player', { ...mapMutations('player', {
remove: 'removeFromQueue', remove: 'removeFromQueue',
clear: 'clearQueue',
}), }),
} }
}) })

View File

@ -101,6 +101,14 @@ export const playerModule: Module<State, any> = {
state.queueIndex-- state.queueIndex--
} }
}, },
clearQueue(state) {
if (state.queueIndex >= 0) {
state.queue = [state.queue[state.queueIndex]]
state.queueIndex = 0
localStorage.setItem('queue', JSON.stringify(state.queue))
localStorage.setItem('queueIndex', '0')
}
},
setNextInQueue(state, tracks) { setNextInQueue(state, tracks) {
state.queue.splice(state.queueIndex + 1, 0, ...tracks) state.queue.splice(state.queueIndex + 1, 0, ...tracks)
}, },