import { isMobile } from '../../utils/utils'; import { DislikeOutlined, LikeOutlined } from '@ant-design/icons'; import { Button, Popover, message } from 'antd'; import { CLS_PREFIX } from '../../common/constants'; import { MsgDataType } from '../../common/type'; import RecommendOptions from '../RecommendOptions'; import { useState } from 'react'; import classNames from 'classnames'; import { updateQAFeedback } from '../../service'; type Props = { data: MsgDataType; scoreValue?: number; isLastMessage?: boolean; isMobileMode?: boolean; onSwitchEntity: (entityId: string) => void; onChangeChart: () => void; }; const Tools: React.FC = ({ data, scoreValue, isLastMessage, isMobileMode, onSwitchEntity, onChangeChart, }) => { const [recommendOptionsOpen, setRecommendOptionsOpen] = useState(false); const { queryColumns, queryResults, queryId, chatContext, queryMode } = data || {}; const [score, setScore] = useState(scoreValue || 0); const prefixCls = `${CLS_PREFIX}-tools`; const noDashboard = (queryColumns?.length === 1 && queryColumns[0].showType === 'CATEGORY' && queryResults?.length === 1) || (!queryMode.includes('METRIC') && !queryMode.includes('ENTITY')); console.log( 'chatContext?.properties?.CONTEXT?.plugin?.name', chatContext?.properties?.CONTEXT?.plugin?.name ); const changeChart = () => { onChangeChart(); }; const addToDashboard = () => { message.info('正在开发中,敬请期待'); }; const like = () => { setScore(5); updateQAFeedback(queryId, 5); }; const dislike = () => { setScore(1); updateQAFeedback(queryId, 1); }; const switchEntity = (option: string) => { setRecommendOptionsOpen(false); onSwitchEntity(option); }; const likeClass = classNames(`${prefixCls}-like`, { [`${prefixCls}-feedback-active`]: score === 5, }); const dislikeClass = classNames(`${prefixCls}-dislike`, { [`${prefixCls}-feedback-active`]: score === 1, }); return (
{/* {isLastMessage && chatContext?.domainId && entityInfo?.entityId && ( } placement={isMobileMode ? 'top' : 'right'} trigger="click" open={recommendOptionsOpen} onOpenChange={open => setRecommendOptionsOpen(open)} > )} */} {!isMobile && ( <> {queryMode === 'METRIC_FILTER' && ( )} {!noDashboard && ( )} {isLastMessage && (
这个回答正确吗?
{ e.stopPropagation(); dislike(); }} />
)} )}
); }; export default Tools;