diff --git a/app/components/Track/ImageRow.vue b/app/components/Track/ImageRow.vue index 7505ae8..b3d338f 100644 --- a/app/components/Track/ImageRow.vue +++ b/app/components/Track/ImageRow.vue @@ -7,6 +7,7 @@ interface TrackRowProps { const { track } = defineProps() const emit = defineEmits<{ (e: "playAlbumAtIndex"): void }>() +const route = useRoute() const hovering = ref(false) @@ -34,7 +35,33 @@ const dropdownMenuItems: DropdownMenuItem[][] = [ }, }, ], + [ + { + label: "Go to artist", + icon: "lucide:user-round", + onSelect() { + const artist = track.artists[0] + if (artist) navigateTo(`/artist/${artist._id}`) + }, + }, + { + label: "Go to album", + icon: "lucide:disc-3", + onSelect() { + navigateTo(`/album/${track.album._id}`) + }, + }, + ], ] + +const visibleDropdownMenuItems = computed(() => + dropdownMenuItems.map((group) => + group.filter( + (item) => + !(item.label === "Go to album" && route.path.startsWith("/album/")), + ), + ), +)