diff --git a/changes/changelog.d/1190.enhancement b/changes/changelog.d/1190.enhancement new file mode 100644 index 0000000000000000000000000000000000000000..b64dc9d9205cdf69a212b65f5a3ae194d2a80a73 --- /dev/null +++ b/changes/changelog.d/1190.enhancement @@ -0,0 +1 @@ +Improved shuffle behaviour (#1190) \ No newline at end of file diff --git a/front/src/store/queue.js b/front/src/store/queue.js index a5ab856a44d8088a4b3c0c986f0ab65a845c474a..5acff3efb3bae9a43288b2f68c84eab5be9bb1d9 100644 --- a/front/src/store/queue.js +++ b/front/src/store/queue.js @@ -158,16 +158,15 @@ export default { // so we replay automatically on next track append commit('ended', true) }, - shuffle ({dispatch, commit, state}, callback) { - let toKeep = state.tracks.slice(0, state.currentIndex + 1) - let toShuffle = state.tracks.slice(state.currentIndex + 1) - let shuffled = toKeep.concat(_.shuffle(toShuffle)) + async shuffle ({dispatch, commit, state}, callback) { + let shuffled = _.shuffle(state.tracks) commit('tracks', []) let params = {tracks: shuffled} if (callback) { params.callback = callback } - dispatch('appendMany', params) + await dispatch('appendMany', params) + await dispatch('currentIndex', 0) } } }