From 623033ccd7a0c13bc0ba3c4d9bdae59f8ba08ec0 Mon Sep 17 00:00:00 2001 From: TheRockYT <91672537+TheRockYT@users.noreply.github.com> Date: Mon, 8 Jan 2024 20:23:26 +0100 Subject: [PATCH 1/5] Added discord options: showSong, idleText, listeningText showSong (boolean): If enabled, the client will show the current song on discord. idleText (string): This text is shown if no song is playing. listeningText (string): This text is shown if a song is playing, but showSong is set to false. --- src/constants/settings.ts | 3 ++ src/pages/settings/preload.ts | 19 ++++++++++++- src/pages/settings/settings.html | 47 ++++++++++++++++++++++++++------ src/scripts/settings.ts | 3 ++ 4 files changed, 63 insertions(+), 9 deletions(-) diff --git a/src/constants/settings.ts b/src/constants/settings.ts index 8750dad..43c5d97 100644 --- a/src/constants/settings.ts +++ b/src/constants/settings.ts @@ -24,6 +24,9 @@ export const settings = { detailsPrefix: "discord.detailsPrefix", buttonText: "discord.buttonText", includeTimestamps: "discord.includeTimestamps", + showSong: "discord.showSong", + idleText: "discord.idleText", + listeningText: "discord.listeningText", }, ListenBrainz: { root: "ListenBrainz", diff --git a/src/pages/settings/preload.ts b/src/pages/settings/preload.ts index 7898a3d..53bfc98 100644 --- a/src/pages/settings/preload.ts +++ b/src/pages/settings/preload.ts @@ -20,6 +20,11 @@ const switchesWithSettings = { classToHide: "discord_options", settingsKey: settings.enableDiscord, }, + discord_show_song: { + switch: "discord_show_song", + classToHide: "discord_show_song_options", + settingsKey: settings.discord.showSong, + } }; let adBlock: HTMLInputElement, @@ -49,7 +54,10 @@ let adBlock: HTMLInputElement, enableWaylandSupport: HTMLInputElement, discord_details_prefix: HTMLInputElement, discord_include_timestamps: HTMLInputElement, - discord_button_text: HTMLInputElement; + discord_button_text: HTMLInputElement, + discord_show_song: HTMLInputElement, + discord_idle_text: HTMLInputElement, + discord_listening_text: HTMLInputElement; addCustomCss(app); @@ -138,6 +146,9 @@ function refreshSettings() { discord_details_prefix.value = settingsStore.get(settings.discord.detailsPrefix); discord_include_timestamps.checked = settingsStore.get(settings.discord.includeTimestamps); discord_button_text.value = settingsStore.get(settings.discord.buttonText); + discord_show_song.checked = settingsStore.get(settings.discord.showSong); + discord_idle_text.value = settingsStore.get(settings.discord.idleText); + discord_listening_text.value = settingsStore.get(settings.discord.listeningText); // set state of all switches with additional settings Object.values(switchesWithSettings).forEach((settingSwitch) => { @@ -251,6 +262,9 @@ window.addEventListener("DOMContentLoaded", () => { discord_include_timestamps = get("discord_include_timestamps"); listenbrainz_delay = get("listenbrainz_delay"); discord_button_text = get("discord_button_text"); + discord_show_song = get("discord_show_song"); + discord_listening_text = get("discord_listening_text"); + discord_idle_text = get("discord_idle_text") refreshSettings(); addInputListener(adBlock, settings.adBlock); @@ -285,4 +299,7 @@ window.addEventListener("DOMContentLoaded", () => { addInputListener(discord_details_prefix, settings.discord.detailsPrefix); addInputListener(discord_include_timestamps, settings.discord.includeTimestamps); addInputListener(discord_button_text, settings.discord.buttonText); + addInputListener(discord_show_song, settings.discord.showSong, switchesWithSettings.discord_show_song); + addInputListener(discord_idle_text, settings.discord.idleText); + addInputListener(discord_listening_text, settings.discord.listeningText); }); diff --git a/src/pages/settings/settings.html b/src/pages/settings/settings.html index b250a89..916bc3b 100644 --- a/src/pages/settings/settings.html +++ b/src/pages/settings/settings.html @@ -229,19 +229,50 @@
Prefix for the "details" field of Discord's rich presence.
- +Show the current song in the Discord client
+The text displayed on Discord's rich presence while idling in the app.
+Text to display on the button below the song information.
- +The text displayed on Discord's rich presence while listening to a song.
+Prefix for the "details" field of Discord's rich presence.
+ +Text to display on the button below the song information.
+ +