|
|
|
@ -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);
|
|
|
|
|