feat: add "Save to / remove from my Liked Songs" to track list context menu

This commit is contained in:
qier222 2020-10-21 15:54:57 +08:00
parent 89bb04b51b
commit 81d65c2885
2 changed files with 42 additions and 28 deletions

View file

@ -3,6 +3,7 @@
class="track"
:class="trackClass"
:style="trackStyle"
:title="track.reason"
@mouseover="focus = true"
@mouseleave="focus = false"
>
@ -15,7 +16,7 @@
>
<svg-icon icon-class="play"></svg-icon>
</button>
<span v-show="!focus">{{ track.no }}</span>
<span v-show="!focus || !track.playable">{{ track.no }}</span>
</div>
<div class="title-and-artist">
<div class="container">
@ -66,7 +67,6 @@
<script>
import { isLoggedIn } from "@/utils/auth";
import { likeATrack } from "@/api/track";
import ArtistsInLine from "@/components/ArtistsInLine.vue";
import ExplicitSymbol from "@/components/ExplicitSymbol.vue";
@ -127,21 +127,7 @@ export default {
this.$parent.playThisList(this.track.id);
},
likeThisSong() {
let id = this.track.id;
let like = true;
let likedSongs = this.$parent.liked.songs;
if (likedSongs.includes(id)) like = false;
likeATrack({ id, like }).then(() => {
if (like === false) {
this.$store.commit(
"updateLikedSongs",
likedSongs.filter(d => d !== id)
);
} else {
likedSongs.push(id);
this.$store.commit("updateLikedSongs", likedSongs);
}
});
this.$parent.likeASong(this.track.id);
}
},
created() {