From d6f8bb8588c8761b5b213ca1852ca0ebefa681a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20T=C3=A4kker?= Date: Fri, 25 Sep 2026 19:59:57 +0200 Subject: [PATCH] Added player queue drawer --- app/components/Player/Queue.vue | 195 ++++++++++++++++++++++++++++++++ app/components/Player/index.vue | 5 +- app/components/Track/Row.vue | 22 +++- 3 files changed, 218 insertions(+), 4 deletions(-) create mode 100644 app/components/Player/Queue.vue diff --git a/app/components/Player/Queue.vue b/app/components/Player/Queue.vue new file mode 100644 index 0000000..9549c9f --- /dev/null +++ b/app/components/Player/Queue.vue @@ -0,0 +1,195 @@ + + + + + diff --git a/app/components/Player/index.vue b/app/components/Player/index.vue index 9b9206b..1010873 100644 --- a/app/components/Player/index.vue +++ b/app/components/Player/index.vue @@ -38,8 +38,8 @@ const durationFormatted = computed(() => new Date(duration.value * 1000).toISOString().slice(14, 19), ) -const toast = useToast() const { open: openFullscreen } = useFullscreen() +const queueOpen = ref(false) + diff --git a/app/components/Track/Row.vue b/app/components/Track/Row.vue index 090663c..39c7a3f 100644 --- a/app/components/Track/Row.vue +++ b/app/components/Track/Row.vue @@ -6,9 +6,11 @@ interface TrackRowProps { index: number extendedInfo?: boolean showImage?: boolean + queueMode?: boolean } -const { track, index, extendedInfo, showImage } = defineProps() +const { track, index, extendedInfo, showImage, queueMode } = + defineProps() const emit = defineEmits<{ (e: "playAlbumAtIndex"): void }>() const hovering = ref(false) @@ -56,6 +58,7 @@ const artworkSrc = computed(() => GET_FILE(track.album.file)) extended: extendedInfo, odd: index % 2 == 1, image: showImage, + queue: queueMode, }" @mouseenter="hovering = true" @mouseleave="hovering = false" @@ -92,7 +95,13 @@ const artworkSrc = computed(() => GET_FILE(track.album.file))

{{ durationFormatted }}

- +