feat: support separate album by disc (#861)

Co-authored-by: BakerBunker <bakerbunker@nwpu.edu.cn>
master
BakerBunker 3 years ago committed by qier222
parent dfcae06496
commit 8b089e6cf4
No known key found for this signature in database
GPG Key ID: 9C85007ED905F14D

@ -71,12 +71,25 @@
</div>
</div>
</div>
<TrackList
:id="album.id"
:tracks="tracks"
:type="'album'"
:album-object="album"
/>
<div v-if="Object.keys(tracksByDisc).length !== 1">
<div v-for="(disc, cd) in tracksByDisc" :key="cd">
<h2>Disc {{ cd }}</h2>
<TrackList
:id="album.id"
:tracks="disc"
:type="'album'"
:album-object="album"
/>
</div>
</div>
<div v-else>
<TrackList
:id="album.id"
:tracks="tracks"
:type="'album'"
:album-object="album"
/>
</div>
<div class="extra-info">
<div class="album-time"></div>
<div class="release-date">
@ -137,6 +150,7 @@ import locale from '@/locale';
import { splitSoundtrackAlbumTitle, splitAlbumTitle } from '@/utils/common';
import NProgress from 'nprogress';
import { isAccountLoggedIn } from '@/utils/auth';
import { groupBy } from 'lodash';
import ExplicitSymbol from '@/components/ExplicitSymbol.vue';
import ButtonTwoTone from '@/components/ButtonTwoTone.vue';
@ -204,6 +218,9 @@ export default {
return [...realAlbums, ...restItems].slice(0, 5);
}
},
tracksByDisc() {
return groupBy(this.tracks, 'cd');
},
},
created() {
this.loadData(this.$route.params.id);

Loading…
Cancel
Save