From 215da357a73efaaa82b513c9404d706e1a6bb2d6 Mon Sep 17 00:00:00 2001
From: booploops <49113086+booploops@users.noreply.github.com>
Date: Wed, 22 Dec 2021 16:16:55 -0800
Subject: [PATCH] playlists can now be created and deleted
---
src/renderer/index.js | 39 ++++++++++++++++++++++++++++++++++---
src/renderer/views/main.ejs | 3 ++-
2 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/src/renderer/index.js b/src/renderer/index.js
index 93ca869a..1179b4e7 100644
--- a/src/renderer/index.js
+++ b/src/renderer/index.js
@@ -453,6 +453,32 @@ const app = new Vue({
self.playlists.listing = res.data
})
},
+ playlistHeaderContextMenu(event) {
+ let menu = {
+ items: [
+ {
+ name: "New Playlist",
+ action: () => {
+ this.newPlaylist()
+ }
+ }
+ ]
+ }
+ CiderContextMenu.Create(event, menu)
+ },
+ playlistContextMenu(event, playlist_id) {
+ let menu = {
+ items: [
+ {
+ name: "Delete from library",
+ action: () => {
+ this.deletePlaylist(playlist_id)
+ }
+ }
+ ]
+ }
+ CiderContextMenu.Create(event, menu)
+ },
async editPlaylist(id, name = "New Playlist") {
let self = this
await app.mk.api.library.editPlaylist(id, {name: name}).then(res => {
@@ -461,14 +487,21 @@ const app = new Vue({
},
async newPlaylist(name = "New Playlist", tracks = []) {
let self = this
- await app.mk.api.library.createPlaylist({name: name, tracks: tracks}).then(res => {
+ let request = {
+ name: name
+ }
+ if(tracks.length > 0) {
+ request.tracks = tracks
+ }
+ await app.mk.api.library.createPlaylist(request).then(res => {
+ console.log(res)
self.refreshPlaylists()
- appRoute(`playlist_` + res.id);
+ self.appRoute(`playlist_` + res.id);
})
},
async deletePlaylist(id) {
let self = this
- if(confirm(`Are you sure you want to delete "${this.playlists.listing[id].attributes.name}"?`)) {
+ if(confirm(`Are you sure you want to delete this playlist?`)) {
await app.mk.api.library.deletePlaylist(id).then(res=>{
self.refreshPlaylists()
})
diff --git a/src/renderer/views/main.ejs b/src/renderer/views/main.ejs
index 462fa00c..991a9210 100644
--- a/src/renderer/views/main.ejs
+++ b/src/renderer/views/main.ejs
@@ -169,10 +169,11 @@