diff --git a/src/main/cider-base.js b/src/main/cider-base.js index c7d19d88..ec777a4f 100644 --- a/src/main/cider-base.js +++ b/src/main/cider-base.js @@ -155,13 +155,13 @@ const CiderBase = { win.webContents.session.webRequest.onBeforeSendHeaders(async (details, callback) => { if(details.url == "https://buy.itunes.apple.com/account/web/info"){ - details.requestHeaders['sec-fetch-site'] = 'same-site'; - details.requestHeaders['DNT'] = '1'; - let itspod = await win.webContents.executeJavaScript(`window.localStorage.getItem("music.ampwebplay.itspod")`) - if (itspod != null) - details.requestHeaders['Cookie'] = `itspod=${itspod}` - } - callback({ requestHeaders: details.requestHeaders }) + details.requestHeaders['sec-fetch-site'] = 'same-site'; + details.requestHeaders['DNT'] = '1'; + let itspod = await win.webContents.executeJavaScript(`window.localStorage.getItem("music.ampwebplay.itspod")`) + if (itspod != null) + details.requestHeaders['Cookie'] = `itspod=${itspod}` + } + callback({ requestHeaders: details.requestHeaders }) }) let location = "http://localhost:9000/" diff --git a/src/renderer/views/pages/cider-playlist.ejs b/src/renderer/views/pages/cider-playlist.ejs index 01666b46..7222c2e2 100644 --- a/src/renderer/views/pages/cider-playlist.ejs +++ b/src/renderer/views/pages/cider-playlist.ejs @@ -55,6 +55,10 @@ @click="app.mk.shuffleMode = 1;app.playMediaItemById(data.attributes.playParams.id ?? data.id, data.attributes.playParams.kind ?? data.type, data.attributes.playParams.isLibrary ?? false, data.attributes.url)"> Shuffle + @@ -89,17 +93,40 @@ return { editorialNotesExpanded: false, drag: false, - nameEditing: false + nameEditing: false, + inLibrary: null } }, - mounted() { - + mounted: function () { + this.isInLibrary() + }, + watch:{ + data : function() { + this.isInLibrary() + } }, methods: { + async isInLibrary () { + 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} + }, editPlaylist() { app.editPlaylist(this.data.id, this.data.attributes.name); this.nameEditing = false }, + addToLibrary(id) { + app.mk.addToLibrary(id) + this.inLibrary = true + }, + removeFromLibrary(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 }) + this.inLibrary = false + }, editPlaylistName() { if(this.data.attributes.canEdit && this.data.type == "library-playlists") { this.nameEditing = true