diff --git a/apps/web/src/components/features/input/BusterChatInput/BusterChatInputBase.tsx b/apps/web/src/components/features/input/BusterChatInput/BusterChatInputBase.tsx index a900141ff..ba5812b1e 100644 --- a/apps/web/src/components/features/input/BusterChatInput/BusterChatInputBase.tsx +++ b/apps/web/src/components/features/input/BusterChatInput/BusterChatInputBase.tsx @@ -104,6 +104,10 @@ export const BusterChatInputBase: React.FC = React.memo( onSubmit({ ...value, mode }); }; + const onSuggestionItemClick = useMemoizedFn(() => { + onSubmitPreflight(); + }); + const onCloseCreateShortcutModal = useMemoizedFn(() => { setOpenCreateShortcutModal(false); }); @@ -123,6 +127,7 @@ export const BusterChatInputBase: React.FC = React.memo( 0 : isInteracting && suggestionItems.length > 0; + // biome-ignore lint/style/noNonNullAssertion: we know the ref is not null + const getValue = mentionsInputRef.current?.getValue!; + // biome-ignore lint/style/noNonNullAssertion: we know the ref is not null + const addMentionToInput = mentionsInputRef.current?.addMentionToInput!; + const mounted = useMounted(); + const onChangeInputValue: MentionInputProps['onChange'] = useCallback( (d) => { const { transformedValue } = d; @@ -95,7 +101,6 @@ export const MentionInputSuggestions = forwardRef< const onSelectItem = useMemoizedFn( ({ onClick, ...params }: MentionInputSuggestionsOnSelectParams) => { const { addValueToInput, loading, label, disabled, inputValue } = params; - console.log('onSelectItem', params); if (disabled) { console.warn('Item is disabled', params); return; @@ -114,17 +119,12 @@ export const MentionInputSuggestions = forwardRef< setValue(stringValue); } onClick?.(); - if (closeSuggestionOnSelect && params.closeOnSelect !== false) setHasClickedSelect(true); onSuggestionItemClick?.(params); + + if (closeSuggestionOnSelect && params.closeOnSelect !== false) setHasClickedSelect(true); } ); - // biome-ignore lint/style/noNonNullAssertion: we know the ref is not null - const getValue = mentionsInputRef.current?.getValue!; - // biome-ignore lint/style/noNonNullAssertion: we know the ref is not null - const addMentionToInput = mentionsInputRef.current?.addMentionToInput!; - const mounted = useMounted(); - const onBlur = useMemoizedFn(() => { setIsInteracting(false); }); diff --git a/apps/web/src/components/ui/inputs/MentionInputSuggestions/MentionInputSuggestionsItem.tsx b/apps/web/src/components/ui/inputs/MentionInputSuggestions/MentionInputSuggestionsItem.tsx index b60e2f028..b6cedd62b 100644 --- a/apps/web/src/components/ui/inputs/MentionInputSuggestions/MentionInputSuggestionsItem.tsx +++ b/apps/web/src/components/ui/inputs/MentionInputSuggestions/MentionInputSuggestionsItem.tsx @@ -30,6 +30,19 @@ export const MentionInputSuggestionsItem = ({ style, popoverContent, }: MentionInputSuggestionsItemProps) => { + const onSelectItem = () => { + onSelect({ + value, + inputValue, + label, + onClick, + addValueToInput, + closeOnSelect, + disabled, + loading, + }); + }; + return ( { + onSelectItem(); + }} onSelect={() => { - onSelect({ - value, - inputValue, - label, - onClick, - addValueToInput, - closeOnSelect, - disabled, - loading, - }); + onSelectItem(); }} > {icon && ( diff --git a/apps/web/src/context/Chats/useChat.ts b/apps/web/src/context/Chats/useChat.ts index b480bbdff..0207cef30 100644 --- a/apps/web/src/context/Chats/useChat.ts +++ b/apps/web/src/context/Chats/useChat.ts @@ -6,6 +6,7 @@ import { useGetChatMemoized, useGetChatMessageMemoized } from '@/api/buster_rest import { useStartNewChat, useStopChat } from '@/api/buster_rest/chats/queryRequestsV2'; import { useChatUpdate } from '@/api/buster_rest/chats/useChatUpdate'; import { useMemoizedFn } from '@/hooks/useMemoizedFn'; +import { timeout } from '@/lib/timeout'; type StartChatParams = { prompt: string | undefined; @@ -46,11 +47,13 @@ export const useChat = () => { const hasMultipleMessages = message_ids.length > 1; if (!hasMultipleMessages) { - navigate({ + await navigate({ to: '/app/chats/$chatId', params: { chatId: id }, }); } + + await timeout(500); }; const onStartNewChat = useMemoizedFn(