From ec7aaf01a423dca2068debb97b82fe7a530b90da Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Fri, 3 Mar 2023 08:51:33 -0500 Subject: [PATCH] add hoverbuttons --- src/components/Messages/Embed.jsx | 2 +- src/components/Messages/HoverButtons.jsx | 19 +++++++++++++++++++ src/components/Messages/Message.jsx | 17 ++++++++++++++++- src/components/svg/DislikeIcon.jsx | 20 ++++++++++++++++++++ src/components/svg/EditIcon.jsx | 21 +++++++++++++++++++++ src/components/svg/LikeIcon.jsx | 20 ++++++++++++++++++++ 6 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 src/components/Messages/HoverButtons.jsx create mode 100644 src/components/svg/DislikeIcon.jsx create mode 100644 src/components/svg/EditIcon.jsx create mode 100644 src/components/svg/LikeIcon.jsx 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 ( + + + + ); +}