From e3bbf71888fa3b076f1b81c005d7fd4a1b5925b8 Mon Sep 17 00:00:00 2001 From: kmmiio99o <164557248+kmmiio99o@users.noreply.github.com> Date: Sun, 16 Nov 2025 17:10:12 +0100 Subject: [PATCH] Fix RPC customization settings - Added logic to disable timestamp if not "listening to". - Added a warning message if timestamp is unavailable. --- .../pages/RPCCustomizationSettingsPage.tsx | 64 ++++++++++++++----- 1 file changed, 48 insertions(+), 16 deletions(-) diff --git a/plugins/multi-scrobbler/src/ui/pages/pages/RPCCustomizationSettingsPage.tsx b/plugins/multi-scrobbler/src/ui/pages/pages/RPCCustomizationSettingsPage.tsx index 4c44d82..9763036 100644 --- a/plugins/multi-scrobbler/src/ui/pages/pages/RPCCustomizationSettingsPage.tsx +++ b/plugins/multi-scrobbler/src/ui/pages/pages/RPCCustomizationSettingsPage.tsx @@ -6,6 +6,7 @@ import { Stack, TableRowGroup, TableSwitchRow, + TableRow, } from "./components/TableComponents"; import { plugin } from "@vendetta"; import Constants from "../../../constants"; @@ -16,6 +17,35 @@ export default function RPCCustomizationSettingsPage() { useProxy(plugin.storage); const [, forceUpdate] = React.useReducer((x) => x + 1, 0); + const isListeningTo = getStorage( + "listeningTo", + Constants.DEFAULT_SETTINGS.listeningTo, + ); + const showTimestamp = getStorage( + "showTimestamp", + Constants.DEFAULT_SETTINGS.showTimestamp, + ); + + const handleListeningToChange = (value: boolean) => { + setStorage("listeningTo", value); + + // If turning off "Show as Listening", also turn off "Show Timestamp" + if (!value && showTimestamp) { + setStorage("showTimestamp", false); + } + + forceUpdate(); + }; + + const handleTimestampChange = (value: boolean) => { + // Only allow turning on timestamp if "Show as Listening" is enabled + if (value && !isListeningTo) { + return; + } + setStorage("showTimestamp", value); + forceUpdate(); + }; + return ( @@ -24,14 +54,8 @@ export default function RPCCustomizationSettingsPage() { { - setStorage("listeningTo", value); - forceUpdate(); - }} + value={isListeningTo} + onValueChange={handleListeningToChange} /> + + {/* Warning row when timestamp is disabled */} + {!isListeningTo && ( + + )} + { - setStorage("showTimestamp", value); - forceUpdate(); - }} + value={showTimestamp} + onValueChange={handleTimestampChange} + disabled={!isListeningTo} + dimmed={!isListeningTo} /> +