diff --git a/web-app/src/containers/DropdownAssistant.tsx b/web-app/src/containers/DropdownAssistant.tsx index 67f4ef3bf..7849e8769 100644 --- a/web-app/src/containers/DropdownAssistant.tsx +++ b/web-app/src/containers/DropdownAssistant.tsx @@ -81,7 +81,7 @@ const DropdownAssistant = () => { >
{ setCurrentAssistant(assistant) updateCurrentThreadAssistant(assistant) diff --git a/web-app/src/containers/dialogs/AddEditAssistant.tsx b/web-app/src/containers/dialogs/AddEditAssistant.tsx index f4e327e35..aa7a215ba 100644 --- a/web-app/src/containers/dialogs/AddEditAssistant.tsx +++ b/web-app/src/containers/dialogs/AddEditAssistant.tsx @@ -61,6 +61,7 @@ export default function AddEditAssistant({ const [paramsTypes, setParamsTypes] = useState(['string']) const [showEmojiPicker, setShowEmojiPicker] = useState(false) const emojiPickerRef = useRef(null) + const [nameError, setNameError] = useState(null) // Handle click outside emoji picker useEffect(() => { @@ -118,6 +119,7 @@ export default function AddEditAssistant({ setParamsKeys(['']) setParamsValues(['']) setParamsTypes(['string']) + setNameError(null) } const handleParameterChange = ( @@ -193,6 +195,11 @@ export default function AddEditAssistant({ } const handleSave = () => { + if (!name.trim()) { + setNameError(t('assistants:nameRequired')) + return + } + setNameError(null) // Convert parameters arrays to object const parameters: Record = {} paramsKeys.forEach((key, index) => { @@ -275,13 +282,22 @@ export default function AddEditAssistant({ setName(e.target.value)} + onChange={(e) => { + setName(e.target.value) + if (e.target.value.trim()) setNameError(null) + }} placeholder={t('assistants:enterName')} autoFocus />
+ {nameError && ( +
+ {nameError} +
+ )} +