diff --git a/src/renderer/index.js b/src/renderer/index.js
index 88c3cdbf..28a7a5b1 100644
--- a/src/renderer/index.js
+++ b/src/renderer/index.js
@@ -1448,6 +1448,12 @@ const app = new Vue({
self.getLibrarySongsFull(true)
})
},
+ removeFromLibrary(kind,id) {
+ let self = this
+ this.mk.api.library.remove({[kind]: id }).then((data) => {
+ self.getLibrarySongsFull(true)
+ })
+ },
async loadYTLyrics() {
const track = (this.mk.nowPlayingItem != null) ? this.mk.nowPlayingItem.title ?? '' : '';
const artist = (this.mk.nowPlayingItem != null) ? this.mk.nowPlayingItem.artistName ?? '' : '';
diff --git a/src/renderer/views/components/mediaitem-list-item.ejs b/src/renderer/views/components/mediaitem-list-item.ejs
index 23b93c97..671d4f68 100644
--- a/src/renderer/views/components/mediaitem-list-item.ejs
+++ b/src/renderer/views/components/mediaitem-list-item.ejs
@@ -15,7 +15,7 @@
-
+
0) {
+ id = res.relationships.library.data[0].id
+ }
+ let kind = this.item.attributes.playParams.kind ?? this.data.item ?? '';
+ let truekind = (!kind.endsWith("s")) ? (kind + "s") : kind;
+ if (item.attributes.playParams.id) {
+ console.log('remove from library', id)
+ app.removeFromLibrary(truekind, id)
+ this.addedToLibrary = false
+ } else if (item.id) {
+ console.log('remove from library', id)
+ app.removeFromLibrary(truekind, id)
+ this.addedToLibrary = false
+ }
+ },
playTrack() {
let item = this.item
let parent = this.parent
diff --git a/src/renderer/views/pages/cider-playlist.ejs b/src/renderer/views/pages/cider-playlist.ejs
index f94f0a8a..a98b9a37 100644
--- a/src/renderer/views/pages/cider-playlist.ejs
+++ b/src/renderer/views/pages/cider-playlist.ejs
@@ -109,11 +109,13 @@
},
methods: {
async isInLibrary () {
- if (this.data.type && !this.data.type.includes('library')){
+ if (this.data.type && !this.data.type.includes("library")){
// please keep using vars here
- var params = {"fields[albums]": "inLibrary","relate" : "library"}
- var res = await app.mkapi(this.data.attributes.playParams.kind ?? this.data.type, false , this.data.attributes.playParams.id ?? this.data.id, params);
- this.inLibrary = (res && res.attributes && res.attributes.inLibrary) ? res.attributes.inLibrary : false} else {this.inLibrary = true}
+ var params = {"fields[playlists]": "inLibrary","fields[albums]": "inLibrary","relate" : "library"}
+ var res = await app.mkapi(this.data.attributes.playParams.kind ?? this.data.type, this.data.attributes.playParams.isLibrary ?? false , this.data.attributes.playParams.id ?? this.data.id, params);
+ this.inLibrary = (res && res.attributes && res.attributes.inLibrary) ? res.attributes.inLibrary : false
+ console.log(res)
+ } else {this.inLibrary = true}
},
editPlaylist() {
app.editPlaylist(this.data.id, this.data.attributes.name);
@@ -123,10 +125,16 @@
app.mk.addToLibrary(id)
this.inLibrary = true
},
- removeFromLibrary(id) {
+ async removeFromLibrary(id) {
+ var params = {"fields[somgs]": "inLibrary","fields[albums]": "inLibrary","relate" : "library"}
+ var id = this.data.id ?? this.data.attributes.playParams.id
+ var res = await app.mkapi(this.data.attributes.playParams.kind ?? this.data.type, this.data.attributes.playParams.isLibrary ?? false , this.data.attributes.playParams.id ?? this.data.id, params);
+ if (res && res.relationships && res.relationships.library && res.relationships.library.data && res.relationships.library.data.length > 0) {
+ id = res.relationships.library.data[0].id
+ }
let kind = this.data.attributes.playParams.kind ?? this.data.type ?? '';
var truekind = (!kind.endsWith("s")) ? (kind + "s") : kind;
- app.mk.api.library.remove({[truekind]: this.data.id ?? this.data.attributes.playParams.id })
+ app.mk.api.library.remove({[truekind]: id })
this.inLibrary = false
},
editPlaylistName() {