From c70dc9b778ce3f124cea0610359330cfc19655a6 Mon Sep 17 00:00:00 2001 From: Eliot Berriot <contact@eliotberriot.com> Date: Sun, 6 May 2018 23:50:09 +0200 Subject: [PATCH] Fix #99 and #156: Play button now play tracks immediately instead of appending them to the queue --- changes/changelog.d/99.enhancement | 1 + front/src/components/audio/PlayButton.vue | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 changes/changelog.d/99.enhancement diff --git a/changes/changelog.d/99.enhancement b/changes/changelog.d/99.enhancement new file mode 100644 index 0000000000..3b5666ac44 --- /dev/null +++ b/changes/changelog.d/99.enhancement @@ -0,0 +1 @@ +Play button now play tracks immediately instead of appending them to the queue (#99, #156) diff --git a/front/src/components/audio/PlayButton.vue b/front/src/components/audio/PlayButton.vue index 14d381ca19..2662f30b33 100644 --- a/front/src/components/audio/PlayButton.vue +++ b/front/src/components/audio/PlayButton.vue @@ -2,7 +2,7 @@ <div :class="['ui', {'tiny': discrete}, 'buttons']"> <button :title="$t('Add to current queue')" - @click="add" + @click="addNext(true)" :class="['ui', {loading: isLoading}, {'mini': discrete}, {disabled: !playable}, 'button']"> <i class="ui play icon"></i> <template v-if="!discrete"><slot><i18next path="Play"/></slot></template> @@ -42,9 +42,7 @@ export default { } }, mounted () { - if (!this.discrete) { - jQuery(this.$el).find('.ui.dropdown').dropdown() - } + jQuery(this.$el).find('.ui.dropdown').dropdown() }, computed: { playable () { @@ -98,9 +96,11 @@ export default { addNext (next) { let self = this this.triggerLoad() + let wasEmpty = this.$store.state.queue.tracks.length === 0 this.getPlayableTracks().then((tracks) => { self.$store.dispatch('queue/appendMany', {tracks: tracks, index: self.$store.state.queue.currentIndex + 1}) - if (next) { + let goNext = next && !wasEmpty + if (goNext) { self.$store.dispatch('queue/next') } }) -- GitLab