diff --git a/api/src/setting/repositories/setting.repository.ts b/api/src/setting/repositories/setting.repository.ts index 24c1c1b8..81d74ca8 100644 --- a/api/src/setting/repositories/setting.repository.ts +++ b/api/src/setting/repositories/setting.repository.ts @@ -150,7 +150,7 @@ export class SettingRepository extends BaseRepository { } else if (type === SettingType.secret && typeof value !== 'string') { throw new Error('Setting Model (secret) : Value must be a string'); } else if (type === SettingType.select && typeof value !== 'string') { - throw new Error('Setting Model (select): Value must be a string array!'); + throw new Error('Setting Model (select): Value must be a string!'); } } diff --git a/frontend/src/components/settings/SettingInput.tsx b/frontend/src/components/settings/SettingInput.tsx index d20136a3..f09ef9be 100644 --- a/frontend/src/components/settings/SettingInput.tsx +++ b/frontend/src/components/settings/SettingInput.tsx @@ -95,6 +95,7 @@ const SettingInput: React.FC = ({ label={label} helperText={helperText} {...field} + onChange={(e) => field.onChange(Number(e.target.value))} disabled={isDisabled(setting)} /> ); diff --git a/frontend/src/components/settings/index.tsx b/frontend/src/components/settings/index.tsx index da97de13..ece950b2 100644 --- a/frontend/src/components/settings/index.tsx +++ b/frontend/src/components/settings/index.tsx @@ -133,14 +133,8 @@ export const Settings = () => { useEffect(() => { const subscription = watch((values, { name }) => { const [group, label] = (name as string).split("."); - const currentSettingValue = values[group][label] as any; - // if setting value is Number but typed string convert it to number - const settingValue = - typeof values[group][label] === "string" && isNaN(currentSettingValue) - ? values[group][label] - : Number(values[group][label]); - debouncedUpdate(group, label, settingValue); + debouncedUpdate(group, label, values[group][label]); }); return () => {