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 @@
-

Details prefix

-

Prefix for the "details" field of Discord's rich presence.

- +

Show song

+

Show the current song in the Discord client

+
+ +
+ +
+
+

Idle Text

+

The text displayed on Discord's rich presence while idling in the app.

+
-
+
-

Button text

-

Text to display on the button below the song information.

- +

Listening Text

+

The text displayed on Discord's rich presence while listening to a song.

+
+ + +
@@ -422,4 +453,4 @@
- \ No newline at end of file + diff --git a/src/scripts/settings.ts b/src/scripts/settings.ts index 10e08bc..de2cd79 100644 --- a/src/scripts/settings.ts +++ b/src/scripts/settings.ts @@ -19,6 +19,9 @@ export const settingsStore = new Store({ enableCustomHotkeys: false, enableDiscord: false, discord: { + showSong: false, + idleText: "Browsing Tidal", + listeningText: "Listening Tidal", detailsPrefix: "Listening to ", buttonText: "Play on Tidal", includeTimestamps: true, From 22383a9f455ba422354699fe380b837a2cd8b4a5 Mon Sep 17 00:00:00 2001 From: TheRockYT <91672537+TheRockYT@users.noreply.github.com> Date: Mon, 8 Jan 2024 20:31:27 +0100 Subject: [PATCH 2/5] Made order of settings more logical: The settings now appear directly below the show song switch --- src/pages/settings/settings.html | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/pages/settings/settings.html b/src/pages/settings/settings.html index 916bc3b..2c299d6 100644 --- a/src/pages/settings/settings.html +++ b/src/pages/settings/settings.html @@ -227,17 +227,6 @@ -
-
-

Show song

-

Show the current song in the Discord client

-
- -
-

Idle Text

@@ -254,6 +243,17 @@
+
+
+

Show song

+

Show the current song in the Discord client

+
+ +
+