import MessageItem from '@/components/next-message-item'; import { Modal } from '@/components/ui/modal/modal'; import { useFetchAgent } from '@/hooks/use-agent-request'; import { useFetchUserInfo } from '@/hooks/user-setting-hooks'; import { IAgentLogMessage } from '@/interfaces/database/agent'; import { IReferenceObject, Message } from '@/interfaces/database/chat'; import { buildMessageUuidWithRole } from '@/utils/chat'; import React, { useMemo } from 'react'; import { IMessage } from '../chat/interface'; interface CustomModalProps { isOpen: boolean; onClose: () => void; message: IAgentLogMessage[]; reference: IReferenceObject; } export const AgentLogDetailModal: React.FC = ({ isOpen, onClose, message: derivedMessages, reference, }) => { const { data: userInfo } = useFetchUserInfo(); const { data: canvasInfo } = useFetchAgent(); const shortMessage = useMemo(() => { if (derivedMessages?.length) { const content = derivedMessages[0]?.content || ''; const chineseCharCount = (content.match(/[\u4e00-\u9fa5]/g) || []).length; const totalLength = content.length; if (chineseCharCount > 0) { if (totalLength > 15) { return content.substring(0, 15) + '...'; } } else { if (totalLength > 30) { return content.substring(0, 30) + '...'; } } return content; } else { return ''; } }, [derivedMessages]); return (
{derivedMessages?.map((message, i) => { return ( , )} nickname={userInfo.nickname} avatar={userInfo.avatar} avatarDialog={canvasInfo.avatar} item={message as IMessage} reference={reference} index={i} showLikeButton={false} showLog={false} > ); })}
); };