From d53fd08ee8a6b6f7db2af8abd9b3064c450f0bcb Mon Sep 17 00:00:00 2001 From: meowarex Date: Tue, 9 Sep 2025 19:20:30 +1000 Subject: [PATCH] Code Review --- plugins/colorama-lyrics-luna/src/Settings.tsx | 22 +++++++-------- plugins/radiant-lyrics-luna/src/Settings.tsx | 27 +++++++++++-------- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/plugins/colorama-lyrics-luna/src/Settings.tsx b/plugins/colorama-lyrics-luna/src/Settings.tsx index 603f6d0..5b8e408 100644 --- a/plugins/colorama-lyrics-luna/src/Settings.tsx +++ b/plugins/colorama-lyrics-luna/src/Settings.tsx @@ -142,17 +142,17 @@ export const Settings = () => { if (!hexColorRegex.test(trimmed)) return; if (mode === "single") { const next = normalizeToRGB(trimmed); - setSingleColor(next); settings.singleColor = next; + setSingleColor(next); if (updateInput) setCustomInput(next); } else if (mode === "gradient-experimental") { const next = normalizeToRGB(trimmed); if (activeEndpoint === "end") { - setGradientEnd(next); settings.gradientEnd = next; + setGradientEnd(next); } else { - setGradientStart(next); settings.gradientStart = next; + setGradientStart(next); } if (updateInput) setCustomInput(next); } @@ -511,15 +511,15 @@ export const Settings = () => { onClick={() => { const next = normalizeToRGB(color); if (mode === "single") { - setSingleColor(next); settings.singleColor = next; + setSingleColor(next); } else if (mode === "gradient-experimental") { if (activeEndpoint === "end") { - setGradientEnd(next); settings.gradientEnd = next; + setGradientEnd(next); } else { - setGradientStart(next); settings.gradientStart = next; + setGradientStart(next); } } setCustomInput(next); @@ -618,8 +618,8 @@ export const Settings = () => { value={singleAlpha} onChange={(e) => { const value = Number(e.target.value); - setSingleAlpha(value); settings.singleAlpha = value; + setSingleAlpha(value); requestApply(); }} style={{ width: "100%" }} @@ -661,8 +661,8 @@ export const Settings = () => { value={gradientStartAlpha} onChange={(e) => { const value = Number(e.target.value); - setGradientStartAlpha(value); settings.gradientStartAlpha = value; + setGradientStartAlpha(value); requestApply(); }} style={{ width: "100%" }} @@ -700,8 +700,8 @@ export const Settings = () => { value={gradientEndAlpha} onChange={(e) => { const value = Number(e.target.value); - setGradientEndAlpha(value); settings.gradientEndAlpha = value; + setGradientEndAlpha(value); requestApply(); }} style={{ width: "100%" }} @@ -735,8 +735,8 @@ export const Settings = () => { value={gradientAngle} onChange={(e) => { const value = Number(e.target.value); - setGradientAngle(value); settings.gradientAngle = value; + setGradientAngle(value); requestApply(); }} style={{ width: "100%" }} @@ -770,8 +770,8 @@ export const Settings = () => { value={gradientAngle} onChange={(e) => { const value = Number(e.target.value); - setGradientAngle(value); settings.gradientAngle = value; + setGradientAngle(value); requestApply(); }} style={{ width: "100%" }} diff --git a/plugins/radiant-lyrics-luna/src/Settings.tsx b/plugins/radiant-lyrics-luna/src/Settings.tsx index b5dbab2..73bd486 100644 --- a/plugins/radiant-lyrics-luna/src/Settings.tsx +++ b/plugins/radiant-lyrics-luna/src/Settings.tsx @@ -54,18 +54,23 @@ export const Settings = () => { settings.trackTitleGlow, ); - // Use a permissive wrapper to align with current usage props + // Derive props and override onChange to accept a broader first param type + type BaseSwitchProps = React.ComponentProps; + type AnySwitchProps = Omit & { + onChange: (_: unknown, checked: boolean) => void; + checked: boolean; + }; const AnySwitch = LunaSwitchSetting as unknown as React.ComponentType< - Record + AnySwitchProps >; return ( { + onChange={(_: unknown, checked: boolean) => { setLyricsGlowEnabled((settings.lyricsGlowEnabled = checked)); // Update styles immediately when setting changes if ((window as any).updateRadiantLyricsStyles) { @@ -77,7 +82,7 @@ export const Settings = () => { title="Track Title Glow" desc="Apply glow to the track title" checked={trackTitleGlow} - onChange={(_: void, checked: boolean) => { + onChange={(_: unknown, checked: boolean) => { setTrackTitleGlow((settings.trackTitleGlow = checked)); if ((window as any).updateRadiantLyricsStyles) { (window as any).updateRadiantLyricsStyles(); @@ -88,7 +93,7 @@ export const Settings = () => { title="Hide UI Feature" desc="Enable hide/unhide UI functionality with toggle buttons" checked={hideUIEnabled} - onChange={(_: void, checked: boolean) => { + onChange={(_: unknown, checked: boolean) => { setHideUIEnabled((settings.hideUIEnabled = checked)); }} /> @@ -96,7 +101,7 @@ export const Settings = () => { title="Player Bar Visibility in Hide UI Mode" desc="Keep player bar visible when UI is hidden" checked={playerBarVisible} - onChange={(_: void, checked: boolean) => { + onChange={(_: unknown, checked: boolean) => { console.log("Player Bar Visibility:", checked ? "visible" : "hidden"); setPlayerBarVisible((settings.playerBarVisible = checked)); // Update styles immediately when setting changes @@ -109,7 +114,7 @@ export const Settings = () => { title="Cover Everywhere" desc="Apply the spinning Cover Art background to the entire app, not just the Now Playing view, Heavily Inspired by Cover-Theme by @Inrixia" checked={spinningCoverEverywhere} - onChange={(_: void, checked: boolean) => { + onChange={(_: unknown, checked: boolean) => { console.log( "Spinning Cover Everywhere:", checked ? "enabled" : "disabled", @@ -127,7 +132,7 @@ export const Settings = () => { title="Performance Mode | Experimental" desc="Performance mode: Reduces blur effects & uses smaller image sizes, to optimize GPU usage" checked={performanceMode} - onChange={(_: void, checked: boolean) => { + onChange={(_: unknown, checked: boolean) => { console.log("Performance Mode:", checked ? "enabled" : "disabled"); setPerformanceMode((settings.performanceMode = checked)); // Update background animations immediately when setting changes @@ -143,7 +148,7 @@ export const Settings = () => { title="Background Cover Spin" // Cheers @Max/n0201 for the idea <3 desc="Enable the spinning cover art background animation" checked={spinningArtEnabled} - onChange={(_: void, checked: boolean) => { + onChange={(_: unknown, checked: boolean) => { console.log( "Background Cover Spin:", checked ? "enabled" : "disabled", @@ -262,7 +267,7 @@ export const Settings = () => { title="Settings Affect Now Playing" desc="Apply background settings to Now Playing view" checked={settingsAffectNowPlaying} - onChange={(_: void, checked: boolean) => { + onChange={(_: unknown, checked: boolean) => { console.log( "Settings Affect Now Playing:", checked ? "enabled" : "disabled",