From a1aa060f848e7d8da29142954c4f642970fc3fab Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sun, 25 Apr 2021 19:06:31 -0300 Subject: naughty hack for context menu in playlist sources ...plus a todo detailing what should be better --- socket.js | 1 + todo.txt | 7 +++++++ ui.js | 14 ++++++++++++++ 3 files changed, 22 insertions(+) diff --git a/socket.js b/socket.js index 7760334..bc35c76 100644 --- a/socket.js +++ b/socket.js @@ -927,6 +927,7 @@ function attachSocketServerToBackend(server, backend) { } Object.assign(module.exports, { + originalSymbol, makeSocketServer, makeSocketClient, attachBackendToSocketClient, diff --git a/todo.txt b/todo.txt index f115383..726e04f 100644 --- a/todo.txt +++ b/todo.txt @@ -592,3 +592,10 @@ TODO: The checks for "grouplike"/"track" have been super arbitrary for a long TODO: Synchronize items that have been shared with the party upon a new client joining. Should be next to (or part of) the initialize-backend command. + +TODO: We currently use a hack to access the original item in the context menu + for items in the party sources listing. This doesn't make, for example, + queuing by pressing enter on a track work. We should instead have a way + to specifically refer to the item "represented" by a line, rather than + the literal object it's associated with (i.e. the pseudo-track/group + shared in the sources array). diff --git a/ui.js b/ui.js index 38a365d..bd73bdc 100644 --- a/ui.js +++ b/ui.js @@ -58,6 +58,10 @@ const { } } = require('tui-lib') +const { + originalSymbol +} = require('./socket') + /* text editor features disabled because theyre very much incomplete and havent * gotten much use from me or anyone afaik! const TuiTextEditor = require('tui-text-editor') @@ -1148,6 +1152,16 @@ class AppElement extends FocusElement { } const rootGroup = getItemPath(item)[0] + + // This is the hack mentioned in the todo!!!! + if ( + this.config.showPartyControls && + rootGroup.isPartySources && + item[originalSymbol] + ) { + item = item[originalSymbol] + } + const hasNotesFile = !!getCorrespondingFileForItem(item, '.txt') if (listing.grouplike.isTheQueue && isTrack(item)) { -- cgit 1.3.0-6-gf8a5