🎨 style: parameters panel update (#4780)

* 🔧 refactor: replace doubleClickHandler with onDoubleClick in slider components

* 🔧 refactor: consolidate DynamicInput and DynamicInputNumber components into a single DynamicInput component; fix: UI crashing when typing a character instead of number in max context/output tokens

* 🔧 style: update component styles to use bg-surface-secondary and bg-surface-tertiary for improved UI consistency
This commit is contained in:
Marco Beretta 2024-11-23 01:10:03 +01:00 committed by GitHub
parent 2a77c98f51
commit ead9e11134
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 79 additions and 174 deletions

View file

@ -1,4 +1,3 @@
// client/src/components/SidePanel/Parameters/DynamicInput.tsx
import { OptionTypes } from 'librechat-data-provider';
import type { DynamicSettingProps } from 'librechat-data-provider';
import { useLocalize, useDebouncedInput, useParameterEffects } from '~/hooks';
@ -13,6 +12,7 @@ function DynamicInput({
settingKey,
defaultValue,
description = '',
type = 'string',
columnSpan,
setOption,
optionType,
@ -46,6 +46,17 @@ function DynamicInput({
setInputValue: setLocalValue,
});
const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {
const value = e.target.value;
if (type === 'number') {
if (!isNaN(Number(value))) {
setInputValue(e);
}
} else {
setInputValue(e);
}
};
return (
<div
className={`flex flex-col items-center justify-start gap-6 ${
@ -75,9 +86,11 @@ function DynamicInput({
id={`${settingKey}-dynamic-input`}
disabled={readonly}
value={inputValue ?? ''}
onChange={setInputValue}
onChange={handleInputChange}
placeholder={placeholderCode ? localize(placeholder) ?? placeholder : placeholder}
className={cn(defaultTextProps, 'flex h-10 max-h-10 w-full resize-none px-3 py-2')}
className={cn(
'flex h-10 max-h-10 w-full resize-none border-none bg-surface-secondary px-3 py-2',
)}
/>
</HoverCardTrigger>
{description && (