From 6adf5df4c67fca7b623ff31245fba49873503431 Mon Sep 17 00:00:00 2001 From: geoffrey45 Date: Tue, 4 Oct 2022 10:09:27 +0300 Subject: [PATCH] fix playing tracks on album page --- src/components/RightSideBar/Queue.vue | 43 +++++++---------- .../RightSideBar/Search/LoadMore.vue | 2 +- src/layouts/HeaderAndVList.vue | 21 ++++++-- src/stores/pages/album.ts | 48 +++++++++++++------ 4 files changed, 68 insertions(+), 46 deletions(-) diff --git a/src/components/RightSideBar/Queue.vue b/src/components/RightSideBar/Queue.vue index 386016a4..edc2871d 100644 --- a/src/components/RightSideBar/Queue.vue +++ b/src/components/RightSideBar/Queue.vue @@ -2,7 +2,7 @@
(); +const sourceTrackList = computed(() => queue.tracklist); +const { + list: tracks, + containerProps, + wrapperProps, +} = useVirtualList(sourceTrackList, { + itemHeight: 64, +}); function playFromQueue(index: number) { queue.play(index); } -const source = computed(() => queue.tracklist); +function scrollToCurrent() { + const elem = document.getElementById("queue-scrollable") as HTMLElement; + const itemHeight = 64; -const { - list: tracks, - containerProps, - wrapperProps, - scrollTo, -} = useVirtualList(source, { - itemHeight: 64, -}); + const top = queue.currentindex * itemHeight - itemHeight; + elem.scroll({ + top, + behavior: "smooth", + }); +} onMounted(() => { - // scrollTo(queue.currentindex); queue.setScrollFunction(scrollToCurrent, mouseover); }); onBeforeUnmount(() => { queue.setScrollFunction(() => {}, null); }); - -// TODO: Handle focusing current track on song end - - -function scrollToCurrent() { - const elem = document.getElementsByClassName('scrollable-r')[0] as HTMLElement; - const itemHeight = 64; - - const top = queue.currentindex * itemHeight - itemHeight; - elem.scroll({ - top, - behavior: "smooth", - }); -}