File size: 836 Bytes
2c41b79 ea7d022 2c41b79 ea7d022 2c41b79 ea7d022 2c41b79 ea7d022 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | "use client";
import { useState } from 'react';
import { MdOutlineDone } from "react-icons/md";
import { MdContentCopy } from 'react-icons/md';
import { GrPowerReset } from 'react-icons/gr';
const MessageOptions = ({ message, regenerateMessage }) => {
const [icon, setIcon] = useState(<MdContentCopy />);
const handleCopy = () => {
if (message.role === 'assistant') { // Ensure only assistant messages are copied
navigator.clipboard.writeText(message.content);
setIcon(<MdOutlineDone />);
setTimeout(() => {
setIcon(<MdContentCopy />);
}, 1000);
}
};
return (
<div className="message-options">
<button onClick={handleCopy}>{icon}</button>
<button onClick={() => regenerateMessage(message)}><GrPowerReset /></button>
</div>
);
};
export default MessageOptions;
|