diff --git a/src/i18n/en_US.json b/src/i18n/en_US.json index 44b2b80d..a4dead81 100644 --- a/src/i18n/en_US.json +++ b/src/i18n/en_US.json @@ -371,6 +371,7 @@ "settings.header.connectivity.discordRPC.cider": "Display as 'Cider'", "settings.header.connectivity.discordRPC.appleMusic": "Display as 'Apple Music'", "settings.option.connectivity.discordRPC.clearOnPause": "Clear Discord Rich Presence on Pause", + "settings.option.connectivity.discordRPC.hideButtons": "Hide buttons on Discord Rich Presence", "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", "settings.option.connectivity.lastfmScrobble.delay": "Last.fm Scrobble Delay (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "Enable Last.fm Now Playing", diff --git a/src/i18n/source/en_US.json b/src/i18n/source/en_US.json index 44b2b80d..a4dead81 100644 --- a/src/i18n/source/en_US.json +++ b/src/i18n/source/en_US.json @@ -371,6 +371,7 @@ "settings.header.connectivity.discordRPC.cider": "Display as 'Cider'", "settings.header.connectivity.discordRPC.appleMusic": "Display as 'Apple Music'", "settings.option.connectivity.discordRPC.clearOnPause": "Clear Discord Rich Presence on Pause", + "settings.option.connectivity.discordRPC.hideButtons": "Hide buttons on Discord Rich Presence", "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", "settings.option.connectivity.lastfmScrobble.delay": "Last.fm Scrobble Delay (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "Enable Last.fm Now Playing", diff --git a/src/main/plugins/discordrpc.ts b/src/main/plugins/discordrpc.ts index 0a994ae2..833d97a3 100644 --- a/src/main/plugins/discordrpc.ts +++ b/src/main/plugins/discordrpc.ts @@ -135,11 +135,13 @@ export default class DiscordRichPresence { delete activity.largeImageText } - activity.buttons.forEach((key: { label: string, url: string }, _v: Number) => { - if (key.url.includes('undefined') || key.url.includes('no-id-found')) { - activity.buttons.splice(key, 1); - } - }) + if (!DiscordRichPresence._store.general.discord_rpc_hide_buttons) { + activity.buttons.forEach((key: { label: string; url: string }, _v: Number) => { + if (key.url.includes('undefined') || key.url.includes('no-id-found')) { + activity.buttons.splice(key, 1); + } + }); + } return activity } @@ -161,19 +163,32 @@ export default class DiscordRichPresence { return; } - this._activity = { - details: attributes.name, - state: `${attributes.artistName ? `by ${attributes.artistName}` : ''}`, - startTimestamp: Date.now() - (attributes?.durationInMillis - attributes?.remainingTime), - endTimestamp: attributes.endTime, - largeImageKey: attributes?.artwork?.url?.replace('{w}', '1024').replace('{h}', '1024'), - largeImageText: attributes.albumName, - instance: false, // Whether the activity is in a game session - buttons: [ - {label: "Listen on Cider", url: attributes.url.cider}, - {label: "View on Apple Music", url: attributes.url.appleMusic}, - ] //To change attributes.url => preload/cider-preload.js - }; + // Check if show buttons is (true) or (false) + if (DiscordRichPresence._store.general.discord_rpc_hide_buttons) { + this._activity = { + details: attributes.name, + state: `${attributes.artistName ? `by ${attributes.artistName}` : ''}`, + startTimestamp: Date.now() - (attributes?.durationInMillis - attributes?.remainingTime), + endTimestamp: attributes.endTime, + largeImageKey: attributes?.artwork?.url?.replace('{w}', '1024').replace('{h}', '1024'), + largeImageText: attributes.albumName, + instance: false + }; + } else { + this._activity = { + details: attributes.name, + state: `${attributes.artistName ? `by ${attributes.artistName}` : ''}`, + startTimestamp: Date.now() - (attributes?.durationInMillis - attributes?.remainingTime), + endTimestamp: attributes.endTime, + largeImageKey: attributes?.artwork?.url?.replace('{w}', '1024').replace('{h}', '1024'), + largeImageText: attributes.albumName, + instance: false, // Whether the activity is in a game session + buttons: [ + { label: 'Listen on Cider', url: attributes.url.cider }, + { label: 'View on Apple Music', url: attributes.url.appleMusic } + ] //To change attributes.url => preload/cider-preload.js + }; + } this._activity = this.filterActivity(this._activity, attributes) diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index 6318dade..adc30377 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -637,6 +637,15 @@ +