diff --git a/qwen3-tts-frontend/src/components/ParamInput.tsx b/qwen3-tts-frontend/src/components/ParamInput.tsx index 4a37e36..cb2c0da 100644 --- a/qwen3-tts-frontend/src/components/ParamInput.tsx +++ b/qwen3-tts-frontend/src/components/ParamInput.tsx @@ -28,8 +28,8 @@ export function ParamInput({ max, }: ParamInputProps) { return ( -
-
+
+
diff --git a/qwen3-tts-frontend/src/components/PresetSelector.tsx b/qwen3-tts-frontend/src/components/PresetSelector.tsx index 1f23775..5ab21d8 100644 --- a/qwen3-tts-frontend/src/components/PresetSelector.tsx +++ b/qwen3-tts-frontend/src/components/PresetSelector.tsx @@ -1,5 +1,6 @@ import { memo, useMemo } from 'react' import { Button } from '@/components/ui/button' +import { Shuffle } from 'lucide-react' interface Preset { label: string @@ -20,16 +21,33 @@ const PresetSelectorInner = ({ presets, onSelect }: PresetSele variant="outline" size="sm" onClick={() => onSelect(preset)} - className="text-xs md:text-sm px-2.5 md:px-3 h-7 md:h-8" + className="text-xs md:text-sm px-2 h-6 md:h-7" > {preset.label} )) }, [presets, onSelect]) + const handleRandomSelect = () => { + const randomIndex = Math.floor(Math.random() * presets.length) + onSelect(presets[randomIndex]) + } + return ( -
- {presetButtons} +
+
+ {presetButtons} +
+
) } diff --git a/qwen3-tts-frontend/src/components/tts/CustomVoiceForm.tsx b/qwen3-tts-frontend/src/components/tts/CustomVoiceForm.tsx index 1ba81ac..f756fa5 100644 --- a/qwen3-tts-frontend/src/components/tts/CustomVoiceForm.tsx +++ b/qwen3-tts-frontend/src/components/tts/CustomVoiceForm.tsx @@ -116,8 +116,8 @@ const CustomVoiceForm = forwardRef((_props, ref) => { }, [currentJob?.id, currentJob?.audio_url]) return ( -
-
+ +
((_props, ref) => { )}
-
+