diff --git a/web-app/src/containers/dialogs/AddEditAssistant.tsx b/web-app/src/containers/dialogs/AddEditAssistant.tsx index 17e5654c3..4c218aec0 100644 --- a/web-app/src/containers/dialogs/AddEditAssistant.tsx +++ b/web-app/src/containers/dialogs/AddEditAssistant.tsx @@ -61,15 +61,18 @@ export default function AddEditAssistant({ const [paramsTypes, setParamsTypes] = useState(['string']) const [showEmojiPicker, setShowEmojiPicker] = useState(false) const emojiPickerRef = useRef(null) + const emojiPickerTriggerRef = useRef(null) const [nameError, setNameError] = useState(null) const [toolSteps, setToolSteps] = useState(20) - // Handle click outside emoji picker + // Handle click outside emoji picker or trigger useEffect(() => { const handleClickOutside = (event: MouseEvent) => { if ( emojiPickerRef.current && - !emojiPickerRef.current.contains(event.target as Node) + emojiPickerTriggerRef.current && + !emojiPickerRef.current.contains(event.target as Node) && + !emojiPickerTriggerRef.current.contains(event.target as Node) ) { setShowEmojiPicker(false) } @@ -91,7 +94,9 @@ export default function AddEditAssistant({ setName(initialData.name) setDescription(initialData.description) setInstructions(initialData.instructions) + setShowEmojiPicker(false) setToolSteps(initialData.tool_steps ?? 20) + // Convert parameters object to arrays of keys and values const keys = Object.keys(initialData.parameters || {}) const values = Object.values(initialData.parameters || {}) @@ -122,6 +127,7 @@ export default function AddEditAssistant({ setParamsValues(['']) setParamsTypes(['string']) setNameError(null) + setShowEmojiPicker(false) setToolSteps(20) } @@ -247,6 +253,7 @@ export default function AddEditAssistant({
setShowEmojiPicker(!showEmojiPicker)} + ref={emojiPickerTriggerRef} > {avatar ? (