| import CopyToClipboard from '@/components/copy-to-clipboard'; | |
| import { | |
| DeleteOutlined, | |
| DislikeOutlined, | |
| LikeOutlined, | |
| SoundOutlined, | |
| SyncOutlined, | |
| } from '@ant-design/icons'; | |
| import { Radio } from 'antd'; | |
| import { useCallback } from 'react'; | |
| import FeedbackModal from './feedback-modal'; | |
| import { useSendFeedback } from './hooks'; | |
| interface IProps { | |
| messageId: string; | |
| content: string; | |
| } | |
| export const AssistantGroupButton = ({ messageId, content }: IProps) => { | |
| const { visible, hideModal, showModal, onFeedbackOk, loading } = | |
| useSendFeedback(messageId); | |
| const handleLike = useCallback(() => { | |
| onFeedbackOk({ thumbup: true }); | |
| }, [onFeedbackOk]); | |
| return ( | |
| <> | |
| <Radio.Group size="small"> | |
| <Radio.Button value="a"> | |
| <CopyToClipboard text={content}></CopyToClipboard> | |
| </Radio.Button> | |
| <Radio.Button value="b"> | |
| <SoundOutlined /> | |
| </Radio.Button> | |
| <Radio.Button value="c" onClick={handleLike}> | |
| <LikeOutlined /> | |
| </Radio.Button> | |
| <Radio.Button value="d" onClick={showModal}> | |
| <DislikeOutlined /> | |
| </Radio.Button> | |
| </Radio.Group> | |
| {visible && ( | |
| <FeedbackModal | |
| visible={visible} | |
| hideModal={hideModal} | |
| onOk={onFeedbackOk} | |
| loading={loading} | |
| ></FeedbackModal> | |
| )} | |
| </> | |
| ); | |
| }; | |
| export const UserGroupButton = () => { | |
| return ( | |
| <Radio.Group size="small"> | |
| <Radio.Button value="a"> | |
| <CopyToClipboard text="xxx"></CopyToClipboard> | |
| </Radio.Button> | |
| <Radio.Button value="b"> | |
| <SyncOutlined /> | |
| </Radio.Button> | |
| <Radio.Button value="c"> | |
| <DeleteOutlined /> | |
| </Radio.Button> | |
| </Radio.Group> | |
| ); | |
| }; | |