import { ReactiveStore } from "@luna/core"; import { LunaSettings, LunaSwitchSetting, LunaNumberSetting } from "@luna/ui"; import React from "react"; export const settings = await ReactiveStore.getPluginStorage("RadiantLyrics", { hideUIEnabled: true, playerBarVisible: true, lyricsGlowEnabled: true, spinningCoverEverywhere: false, performanceMode: false, spinningArtEnabled: true, backgroundContrast: 120, backgroundBlur: 80, backgroundBrightness: 40, spinSpeed: 45, settingsAffectNowPlaying: true, }); export const Settings = () => { const [hideUIEnabled, setHideUIEnabled] = React.useState(settings.hideUIEnabled); const [playerBarVisible, setPlayerBarVisible] = React.useState(settings.playerBarVisible); const [lyricsGlowEnabled, setLyricsGlowEnabled] = React.useState(settings.lyricsGlowEnabled); const [spinningCoverEverywhere, setSpinningCoverEverywhere] = React.useState(settings.spinningCoverEverywhere); const [performanceMode, setPerformanceMode] = React.useState(settings.performanceMode); const [spinningArtEnabled, setSpinningArtEnabled] = React.useState(settings.spinningArtEnabled); const [backgroundContrast, setBackgroundContrast] = React.useState(settings.backgroundContrast); const [backgroundBlur, setBackgroundBlur] = React.useState(settings.backgroundBlur); const [backgroundBrightness, setBackgroundBrightness] = React.useState(settings.backgroundBrightness); const [spinSpeed, setSpinSpeed] = React.useState(settings.spinSpeed); const [settingsAffectNowPlaying, setSettingsAffectNowPlaying] = React.useState(settings.settingsAffectNowPlaying); return ( { setLyricsGlowEnabled((settings.lyricsGlowEnabled = checked)); // Update styles immediately when setting changes if ((window as any).updateRadiantLyricsStyles) { (window as any).updateRadiantLyricsStyles(); } }} /> { setHideUIEnabled((settings.hideUIEnabled = checked)); }} /> { console.log("Player Bar Visibility:", checked ? "visible" : "hidden"); setPlayerBarVisible((settings.playerBarVisible = checked)); // Update styles immediately when setting changes if ((window as any).updateRadiantLyricsStyles) { (window as any).updateRadiantLyricsStyles(); } }} /> { console.log("Spinning Cover Everywhere:", checked ? "enabled" : "disabled"); setSpinningCoverEverywhere((settings.spinningCoverEverywhere = checked)); // Update styles immediately when setting changes if ((window as any).updateRadiantLyricsGlobalBackground) { (window as any).updateRadiantLyricsGlobalBackground(); } }} /> { console.log("Performance Mode:", checked ? "enabled" : "disabled"); setPerformanceMode((settings.performanceMode = checked)); // Update background animations immediately when setting changes if ((window as any).updateRadiantLyricsGlobalBackground) { (window as any).updateRadiantLyricsGlobalBackground(); } if ((window as any).updateRadiantLyricsNowPlayingBackground) { (window as any).updateRadiantLyricsNowPlayingBackground(); } }} /> { console.log("Background Cover Spin:", checked ? "enabled" : "disabled"); setSpinningArtEnabled((settings.spinningArtEnabled = checked)); if ((window as any).updateRadiantLyricsGlobalBackground) { (window as any).updateRadiantLyricsGlobalBackground(); } if (settings.settingsAffectNowPlaying && (window as any).updateRadiantLyricsNowPlayingBackground) { (window as any).updateRadiantLyricsNowPlayingBackground(); } }} /> { setBackgroundContrast((settings.backgroundContrast = value)); if ((window as any).updateRadiantLyricsGlobalBackground) { (window as any).updateRadiantLyricsGlobalBackground(); } if (settings.settingsAffectNowPlaying && (window as any).updateRadiantLyricsNowPlayingBackground) { (window as any).updateRadiantLyricsNowPlayingBackground(); } }} /> { console.log("Background Blur:", value); setBackgroundBlur((settings.backgroundBlur = value)); if ((window as any).updateRadiantLyricsGlobalBackground) { (window as any).updateRadiantLyricsGlobalBackground(); } if (settings.settingsAffectNowPlaying && (window as any).updateRadiantLyricsNowPlayingBackground) { (window as any).updateRadiantLyricsNowPlayingBackground(); } }} /> { console.log("Background Brightness:", value); setBackgroundBrightness((settings.backgroundBrightness = value)); if ((window as any).updateRadiantLyricsGlobalBackground) { (window as any).updateRadiantLyricsGlobalBackground(); } if (settings.settingsAffectNowPlaying && (window as any).updateRadiantLyricsNowPlayingBackground) { (window as any).updateRadiantLyricsNowPlayingBackground(); } }} /> { console.log("Spin Speed:", value); setSpinSpeed((settings.spinSpeed = value)); if ((window as any).updateRadiantLyricsGlobalBackground) { (window as any).updateRadiantLyricsGlobalBackground(); } if (settings.settingsAffectNowPlaying && (window as any).updateRadiantLyricsNowPlayingBackground) { (window as any).updateRadiantLyricsNowPlayingBackground(); } }} /> { console.log("Settings Affect Now Playing:", checked ? "enabled" : "disabled"); setSettingsAffectNowPlaying((settings.settingsAffectNowPlaying = checked)); // Update Now Playing background immediately when setting changes if ((window as any).updateRadiantLyricsNowPlayingBackground) { (window as any).updateRadiantLyricsNowPlayingBackground(); } }} /> ); };