diff --git a/src/components/Messages/Embed.jsx b/src/components/Messages/Embed.jsx
index 0cb65ebd08..1d8c2367e0 100644
--- a/src/components/Messages/Embed.jsx
+++ b/src/components/Messages/Embed.jsx
@@ -1,4 +1,4 @@
-import React, { useState } from 'react';
+import React from 'react';
import Clipboard from '../svg/Clipboard';
export default function Embed({ children, language = '', matched}) {
diff --git a/src/components/Messages/HoverButtons.jsx b/src/components/Messages/HoverButtons.jsx
new file mode 100644
index 0000000000..b88c69470d
--- /dev/null
+++ b/src/components/Messages/HoverButtons.jsx
@@ -0,0 +1,19 @@
+import React from 'react';
+// import Clipboard from '../svg/Clipboard';
+import EditIcon from '../svg/EditIcon';
+
+export default function HoverButtons({ user }) {
+ return (
+
+
+ {user && (
+
+ )}
+ {/* */}
+
+ );
+}
\ No newline at end of file
diff --git a/src/components/Messages/Message.jsx b/src/components/Messages/Message.jsx
index ed880d3b11..a20b3056f0 100644
--- a/src/components/Messages/Message.jsx
+++ b/src/components/Messages/Message.jsx
@@ -3,6 +3,7 @@ import TextWrapper from './TextWrapper';
import { useSelector } from 'react-redux';
import GPTIcon from '../svg/GPTIcon';
import BingIcon from '../svg/BingIcon';
+import HoverButtons from './HoverButtons';
export default function Message({
sender,
@@ -13,6 +14,7 @@ export default function Message({
}) {
const { isSubmitting } = useSelector((state) => state.submit);
const [abortScroll, setAbort] = useState(false);
+ const [isHovering, setIsHovering] = useState(false);
const notUser = sender.toLowerCase() !== 'user';
const blinker = isSubmitting && last && notUser;
@@ -30,6 +32,14 @@ export default function Message({
}
};
+ const handleMouseOver = () => {
+ setIsHovering(true);
+ };
+
+ const handleMouseOut = () => {
+ setIsHovering(false);
+ };
+
const props = {
className:
'w-full border-b border-black/10 dark:border-gray-900/50 text-gray-800 dark:text-gray-100 group dark:bg-gray-800'
@@ -38,7 +48,7 @@ export default function Message({
const bgColors = {
chatgpt: 'rgb(16, 163, 127)',
chatgptBrowser: 'rgb(25, 207, 207)',
- bingai: '',
+ bingai: ''
};
let icon = `${sender}:`;
@@ -63,6 +73,8 @@ export default function Message({
{icon}
@@ -84,6 +96,9 @@ export default function Message({
)}
+
+ {isHovering && }
+
diff --git a/src/components/svg/DislikeIcon.jsx b/src/components/svg/DislikeIcon.jsx
new file mode 100644
index 0000000000..0756721bd1
--- /dev/null
+++ b/src/components/svg/DislikeIcon.jsx
@@ -0,0 +1,20 @@
+import React from 'react';
+
+export default function DislikeIcon() {
+ return (
+
+ );
+}
diff --git a/src/components/svg/EditIcon.jsx b/src/components/svg/EditIcon.jsx
new file mode 100644
index 0000000000..d9d38a91a9
--- /dev/null
+++ b/src/components/svg/EditIcon.jsx
@@ -0,0 +1,21 @@
+import React from 'react';
+
+export default function EditIcon() {
+ return (
+
+ );
+}
diff --git a/src/components/svg/LikeIcon.jsx b/src/components/svg/LikeIcon.jsx
new file mode 100644
index 0000000000..0fc828b58d
--- /dev/null
+++ b/src/components/svg/LikeIcon.jsx
@@ -0,0 +1,20 @@
+import React from 'react';
+
+export default function LikeIcon() {
+ return (
+
+ );
+}