From c2e271cc8c2f862e355032266079041c32f9c785 Mon Sep 17 00:00:00 2001 From: meowarex Date: Wed, 11 Jun 2025 02:57:18 +1000 Subject: [PATCH] Fixed Some Issues --- .../audio-visualizer-luna/src/Settings.tsx | 21 +++++++++++++++---- plugins/audio-visualizer-luna/src/index.ts | 4 +--- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/plugins/audio-visualizer-luna/src/Settings.tsx b/plugins/audio-visualizer-luna/src/Settings.tsx index 66f56a0..8855144 100644 --- a/plugins/audio-visualizer-luna/src/Settings.tsx +++ b/plugins/audio-visualizer-luna/src/Settings.tsx @@ -52,13 +52,24 @@ export const Settings = () => { setBarColor(color); setCustomInput(color); settings.barColor = color; + (window as any).updateAudioVisualizer?.(); }; const addCustomColor = () => { - if (customInput && !colorPresets.includes(customInput) && !customColors.includes(customInput)) { - const newCustomColors = [...customColors, customInput]; - setCustomColors(newCustomColors); - settings.customColors = newCustomColors; + if (customInput) { + // Trim whitespace and convert to lowercase + const trimmedInput = customInput.trim().toLowerCase(); + + // Validate hex color format + const hexColorRegex = /^#([0-9a-f]{6}|[0-9a-f]{3})$/i; + + if (hexColorRegex.test(trimmedInput) && + !colorPresets.includes(trimmedInput) && + !customColors.includes(trimmedInput)) { + const newCustomColors = [...customColors, trimmedInput]; + setCustomColors(newCustomColors); + settings.customColors = newCustomColors; + } } }; @@ -84,6 +95,7 @@ export const Settings = () => { onChange={(_, checked) => { setBarRounding(checked); settings.barRounding = checked; + (window as any).updateAudioVisualizer?.(); }} /> @@ -97,6 +109,7 @@ export const Settings = () => { onNumber={(value: number) => { setBarCount(value); settings.barCount = value; + (window as any).updateAudioVisualizer?.(); }} /> diff --git a/plugins/audio-visualizer-luna/src/index.ts b/plugins/audio-visualizer-luna/src/index.ts index fb70d1a..e912aed 100644 --- a/plugins/audio-visualizer-luna/src/index.ts +++ b/plugins/audio-visualizer-luna/src/index.ts @@ -390,9 +390,7 @@ const updateAudioVisualizer = (): void => { // use a fixed size that provides enough frequency bins analyser.fftSize = 512; // Fixed power of 2 - important analyser.smoothingTimeConstant = config.smoothing; - if (dataArray) { - dataArray = new Uint8Array(analyser.frequencyBinCount); - } + dataArray = new Uint8Array(analyser.frequencyBinCount); } if (canvas) {