From ee4a2e475129056dc76b4c738a56844447482678 Mon Sep 17 00:00:00 2001 From: booploops <49113086+booploops@users.noreply.github.com> Date: Wed, 29 Dec 2021 06:29:31 -0800 Subject: [PATCH] added share to some elements, does not work correctly for library songs yet --- src/renderer/index.js | 3 +++ .../views/components/mediaitem-list-item.ejs | 6 ++++++ src/renderer/views/components/mediaitem-square.ejs | 12 +++++++++++- src/renderer/views/pages/artist.ejs | 4 +++- 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index 24ab8036..c5e19c81 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -613,6 +613,9 @@ const app = new Vue({ self.refreshPlaylists() }) }, + copyToClipboard(str) { + navigator.clipboard.writeText(str) + }, newPlaylist(name = "New Playlist", tracks = []) { let self = this let request = { diff --git a/src/renderer/views/components/mediaitem-list-item.ejs b/src/renderer/views/components/mediaitem-list-item.ejs index 9237ad99..0bd21c76 100644 --- a/src/renderer/views/components/mediaitem-list-item.ejs +++ b/src/renderer/views/components/mediaitem-list-item.ejs @@ -276,6 +276,12 @@ app.searchAndNavigate(self.item, 'album') } }, + { + "name": "Share", + "action": function () { + self.app.copyToClipboard(self.item.attributes.url) + } + } ] } } diff --git a/src/renderer/views/components/mediaitem-square.ejs b/src/renderer/views/components/mediaitem-square.ejs index 7d7976d3..23a350d5 100644 --- a/src/renderer/views/components/mediaitem-square.ejs +++ b/src/renderer/views/components/mediaitem-square.ejs @@ -215,6 +215,7 @@ } }, { + "id": "addToPlaylist", "name": "Add to Playlist...", "action": function () { app.promptAddToPlaylist() @@ -237,11 +238,20 @@ ; } }, + { + "name": "Share", + "action": function () { + self.app.copyToClipboard(self.item.attributes.url) + } + } ] } } if ((self.item.attributes.playParams.kind ?? self.item.type).includes("playlist")) { - menus.normal.items.splice(2, 1); + // remove the add to playlist option by id "addToPlaylist" using the .filter() method + menus.normal.items = menus.normal.items.filter(function (item) { + return item.id != "addToPlaylist" + }) } if (this.contextExt) { if (this.contextExt.normal) { diff --git a/src/renderer/views/pages/artist.ejs b/src/renderer/views/pages/artist.ejs index 72d00995..06278b64 100644 --- a/src/renderer/views/pages/artist.ejs +++ b/src/renderer/views/pages/artist.ejs @@ -169,7 +169,9 @@ followActions[followAction], { name: "Share", - action: ()=>{} + action: ()=>{ + self.app.copyToClipboard(self.data.attributes.url) + } } ] })