Fix: Fixed the issue with external chat box reporting errors #3909 (#4079)

### What problem does this PR solve?

Fix:  Fixed the issue with external chat box reporting errors #3909

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
balibabu 2024-12-18 11:16:52 +08:00 committed by GitHub
parent 0a3c6fff7c
commit 00f99ecbd5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 25 additions and 16 deletions

View File

@ -23,6 +23,7 @@ interface IProps {
prompt?: string;
showLikeButton: boolean;
audioBinary?: string;
showLoudspeaker?: boolean;
}
export const AssistantGroupButton = ({
@ -31,6 +32,7 @@ export const AssistantGroupButton = ({
prompt,
audioBinary,
showLikeButton,
showLoudspeaker = true,
}: IProps) => {
const { visible, hideModal, showModal, onFeedbackOk, loading } =
useSendFeedback(messageId);
@ -52,12 +54,14 @@ export const AssistantGroupButton = ({
<Radio.Button value="a">
<CopyToClipboard text={content}></CopyToClipboard>
</Radio.Button>
<Radio.Button value="b" onClick={handleRead}>
<Tooltip title={t('chat.read')}>
{isPlaying ? <PauseCircleOutlined /> : <SoundOutlined />}
</Tooltip>
<audio src="" ref={ref}></audio>
</Radio.Button>
{showLoudspeaker && (
<Radio.Button value="b" onClick={handleRead}>
<Tooltip title={t('chat.read')}>
{isPlaying ? <PauseCircleOutlined /> : <SoundOutlined />}
</Tooltip>
<audio src="" ref={ref}></audio>
</Radio.Button>
)}
{showLikeButton && (
<>
<Radio.Button value="c" onClick={handleLike}>

View File

@ -34,6 +34,7 @@ interface IProps extends Partial<IRemoveMessageById>, IRegenerateMessage {
clickDocumentButton?: (documentId: string, chunk: IReferenceChunk) => void;
index: number;
showLikeButton?: boolean;
showLoudspeaker?: boolean;
}
const MessageItem = ({
@ -48,6 +49,7 @@ const MessageItem = ({
removeMessageById,
regenerateMessage,
showLikeButton = true,
showLoudspeaker = true,
}: IProps) => {
const { theme } = useTheme();
const isAssistant = item.role === MessageType.Assistant;
@ -120,6 +122,7 @@ const MessageItem = ({
prompt={item.prompt}
showLikeButton={showLikeButton}
audioBinary={item.audio_binary}
showLoudspeaker={showLoudspeaker}
></AssistantGroupButton>
)
) : (

View File

@ -1,7 +1,7 @@
import MessageInput from '@/components/message-input';
import MessageItem from '@/components/message-item';
import { useClickDrawer } from '@/components/pdf-drawer/hooks';
import { MessageType } from '@/constants/chat';
import { MessageType, SharedFrom } from '@/constants/chat';
import { useSendButtonDisabled } from '@/pages/chat/hooks';
import { Flex, Spin } from 'antd';
import { forwardRef, useMemo } from 'react';
@ -17,7 +17,7 @@ import { useFetchFlowSSE } from '@/hooks/flow-hooks';
import styles from './index.less';
const ChatContainer = () => {
const { sharedId: conversationId } = useGetSharedChatSearchParams();
const { sharedId: conversationId, from } = useGetSharedChatSearchParams();
const { visible, hideModal, documentId, selectedChunk, clickDocumentButton } =
useClickDrawer();
@ -32,14 +32,14 @@ const ChatContainer = () => {
hasError,
} = useSendSharedMessage();
const sendDisabled = useSendButtonDisabled(value);
const useData = (from: SharedFrom) =>
useMemo(() => {
return from === SharedFrom.Agent
? useFetchFlowSSE
: useFetchNextConversationSSE;
}, [from]);
const { data: InforForm } = useData(from)();
const useFetchAvatar = useMemo(() => {
return from === SharedFrom.Agent
? useFetchFlowSSE
: useFetchNextConversationSSE;
}, [from]);
const { data: avatarData } = useFetchAvatar();
if (!conversationId) {
return <div>empty</div>;
@ -55,7 +55,7 @@ const ChatContainer = () => {
return (
<MessageItem
key={message.id}
avatardialog={InforForm?.avatar}
avatardialog={avatarData?.avatar}
item={message}
nickname="You"
reference={buildMessageItemReference(
@ -72,6 +72,8 @@ const ChatContainer = () => {
}
index={i}
clickDocumentButton={clickDocumentButton}
showLikeButton={false}
showLoudspeaker={false}
></MessageItem>
);
})}