diff --git a/website/src/repl/components/panel/SettingsTab.jsx b/website/src/repl/components/panel/SettingsTab.jsx index da62f6142..e326a7b3e 100644 --- a/website/src/repl/components/panel/SettingsTab.jsx +++ b/website/src/repl/components/panel/SettingsTab.jsx @@ -1,3 +1,4 @@ +import { useMemo } from 'react'; import { audioEngineTargets, defaultSettings, settingsMap, useSettings } from '../../../settings.mjs'; import { themes } from '@strudel/codemirror'; import { isUdels, setGlobalAudioVolume } from '../../util.mjs'; @@ -32,6 +33,16 @@ function SelectInput({ value, options, onChange }) { } function NumberSlider({ value, onChange, step = 1, ...rest }) { + const fractionalDigits = useMemo(() => { + const stepStr = step.toString(); + const decimalPointIdx = stepStr.indexOf('.'); + if (decimalPointIdx < 0) { + return 0; + } + + return stepStr.slice(decimalPointIdx + 1).length; + }, [step]); + return (
onChange(Number(e.target.value))}