diff --git a/client/package-lock.json b/client/package-lock.json index 3c1cf95a55..c8c0b27d82 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -20257,4 +20257,4 @@ "version": "2.0.4" } } -} +} \ No newline at end of file diff --git a/client/src/components/Messages/HoverButtons.jsx b/client/src/components/Messages/HoverButtons.jsx index 5754aa89f4..f280287e7e 100644 --- a/client/src/components/Messages/HoverButtons.jsx +++ b/client/src/components/Messages/HoverButtons.jsx @@ -1,5 +1,6 @@ import React from 'react'; import Clipboard from '../svg/Clipboard'; +import CheckMark from '../svg/CheckMark'; import EditIcon from '../svg/EditIcon'; import RegenerateIcon from '../svg/RegenerateIcon'; @@ -13,6 +14,7 @@ export default function HoverButtons({ regenerate }) { const { endpoint, jailbreak = false } = conversation; + const [isCopied, setIsCopied] = React.useState(false); const branchingSupported = // azureOpenAI, openAI, chatGPTBrowser support branching, so edit enabled @@ -59,11 +61,11 @@ export default function HoverButtons({ ); diff --git a/client/src/components/Messages/Message.jsx b/client/src/components/Messages/Message.jsx index 3093749bde..70d8081c72 100644 --- a/client/src/components/Messages/Message.jsx +++ b/client/src/components/Messages/Message.jsx @@ -98,8 +98,13 @@ export default function Message({ if (!isSubmitting && !message?.isCreatedByUser) regenerate(message); }; - const copyToClipboard = () => { + const copyToClipboard = (setIsCopied) => { + setIsCopied(true); copy(message?.text); + + setTimeout(() => { + setIsCopied(false); + }, 3000); }; const clickSearchResult = async () => { @@ -217,7 +222,7 @@ export default function Message({ conversation={conversation} enterEdit={() => enterEdit()} regenerate={() => regenerateMessage()} - copyToClipboard={() => copyToClipboard()} + copyToClipboard={copyToClipboard} />