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;