From 925768f1b367bc5eddaeb5341b3a29c63dee4626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ciar=C3=A1n=20Ainsworth?= Date: Thu, 1 Oct 2020 11:22:36 +0100 Subject: [PATCH] Resolve 1228 multi-disc albums --- changes/changelog.d/1228.bugfix | 1 + front/src/components/library/AlbumBase.vue | 20 +++++++++++--------- front/src/components/library/AlbumDetail.vue | 4 ++-- 3 files changed, 14 insertions(+), 11 deletions(-) create mode 100644 changes/changelog.d/1228.bugfix diff --git a/changes/changelog.d/1228.bugfix b/changes/changelog.d/1228.bugfix new file mode 100644 index 000000000..226c85057 --- /dev/null +++ b/changes/changelog.d/1228.bugfix @@ -0,0 +1 @@ +Fixed duplication of discs for multi-disc albums in album views (#1228) \ No newline at end of file diff --git a/front/src/components/library/AlbumBase.vue b/front/src/components/library/AlbumBase.vue index 8bdb2fc34..8ae555f6c 100644 --- a/front/src/components/library/AlbumBase.vue +++ b/front/src/components/library/AlbumBase.vue @@ -134,15 +134,17 @@ import TagsList from "@/components/tags/List" import ArtistLabel from '@/components/audio/ArtistLabel' import AlbumDropdown from './AlbumDropdown' -function groupByDisc(acc, track) { - var dn = track.disc_number - 1 - if (dn < 0) dn = 0 - if (acc[dn] == undefined) { - acc.push([track]) - } else { - acc[dn].push(track) +function groupByDisc(initial) { + function inner(acc, track) { + var dn = track.disc_number - initial + if (acc[dn] == undefined) { + acc.push([track]) + } else { + acc[dn].push(track) + } + return acc } - return acc + return inner } export default { @@ -180,7 +182,7 @@ export default { tracksResponse = await tracksResponse this.object = albumResponse.data this.object.tracks = tracksResponse.data.results - this.discs = this.object.tracks.reduce(groupByDisc, []) + this.discs = this.object.tracks.reduce(groupByDisc(this.object.tracks[0].disc_number), []) this.isLoading = false }, remove () { diff --git a/front/src/components/library/AlbumDetail.vue b/front/src/components/library/AlbumDetail.vue index bc670ce6b..b9d4821e6 100644 --- a/front/src/components/library/AlbumDetail.vue +++ b/front/src/components/library/AlbumDetail.vue @@ -7,12 +7,12 @@