diff --git a/src/components/RightSideBar/UpNext.vue b/src/components/RightSideBar/UpNext.vue index f6acf4e..e720089 100644 --- a/src/components/RightSideBar/UpNext.vue +++ b/src/components/RightSideBar/UpNext.vue @@ -28,7 +28,9 @@ v-for="song in queue" :key="song" @click="playThis(song)" - :class="{ currentInQueue: current._id.$oid == song._id.$oid }" + :class="{ + currentInQueue: current._id.$oid == song._id.$oid, + }" >
{ emit("expandQueue"); @@ -74,28 +75,6 @@ export default { const { playNext } = audio; const { playAudio } = audio; - watch(is_expanded, (val) => { - if (val == true) { - var elem = document.getElementsByClassName("currentInQueue")[0]; - elem.scrollIntoView({ - behavior: "smooth", - block: "center", - inline: "center", - }); - } - }); - - watch(current, (val) => { - if (val) { - var elem = document.getElementsByClassName("currentInQueue")[0]; - elem.scrollIntoView({ - behavior: "smooth", - block: "center", - inline: "center", - }); - } - }); - const playThis = (song) => { playAudio(song.filepath); perks.current.value = song; @@ -110,8 +89,8 @@ export default { playThis, putCommas, queue, - next, current, + next, }; }, }; @@ -158,7 +137,7 @@ export default { } .up-next > p > span:hover { - background: rgb(62, 69, 77); + background: $blue; cursor: pointer; } @@ -220,6 +199,7 @@ export default { .up-next .all-items .scrollable .song-item:hover { cursor: pointer; + background-color: $blue; } .up-next .all-items .scrollable .song-item hr { diff --git a/src/composables/perks.js b/src/composables/perks.js index 53219be..e571383 100644 --- a/src/composables/perks.js +++ b/src/composables/perks.js @@ -60,6 +60,7 @@ const readQueue = () => { const prev_queue = JSON.parse(localStorage.getItem("queue")); const last_played = JSON.parse(localStorage.getItem("current")); const next_ = JSON.parse(localStorage.getItem("next")); + const prev_ = JSON.parse(localStorage.getItem("prev")); if (last_played) { current.value = last_played; @@ -72,9 +73,13 @@ const readQueue = () => { if (next_) { next.value = next_; } + + if (prev_) { + prev.value = prev_; + } }; -watch(current, (new_current) => { +watch(current, (new_current, old_current) => { localStorage.setItem("current", JSON.stringify(new_current)); const index = queue.value.findIndex( @@ -86,11 +91,25 @@ watch(current, (new_current) => { prev.value = queue.value[queue.value.length - 2]; } else if (index == 0) { next.value = queue.value[1]; - prev.value = queue.value[queue.value.length - 1]; + // prev.value = queue.value[queue.value.length - 1]; } else { next.value = queue.value[index + 1]; - prev.value = queue.value[index - 1]; + // prev.value = queue.value[index - 1]; } + + prev.value = old_current; + localStorage.setItem("prev", JSON.stringify(prev.value)); + + setTimeout(() => { + const elem = document.getElementsByClassName("currentInQueue")[0]; + + if (elem) { + elem.scrollIntoView({ + behavior: "smooth", + inline: "center", + }); + } + }, 100); }); export default { putCommas, doThat, readQueue, current, queue, next, prev };