enzostvs HF Staff commited on
Commit
78039a9
·
1 Parent(s): 343b066

add copy button

Browse files
Files changed (1) hide show
  1. src/components/ask-ai/ask-ai.tsx +15 -1
src/components/ask-ai/ask-ai.tsx CHANGED
@@ -4,8 +4,9 @@ import { RiSparkling2Fill } from "react-icons/ri";
4
  import { GrSend } from "react-icons/gr";
5
  import classNames from "classnames";
6
  import { toast } from "react-toastify";
7
- import { useLocalStorage } from "react-use";
8
  import { MdPreview } from "react-icons/md";
 
9
 
10
  import Login from "../login/login";
11
  import { defaultHTML } from "./../../../utils/consts";
@@ -39,6 +40,7 @@ function AskAI({
39
  const [openProvider, setOpenProvider] = useState(false);
40
  const [providerError, setProviderError] = useState("");
41
  const [openProModal, setOpenProModal] = useState(false);
 
42
 
43
  const audio = new Audio(SuccessSound);
44
  audio.volume = 0.5;
@@ -148,6 +150,18 @@ function AskAI({
148
  isAiWorking ? "animate-pulse" : ""
149
  }`}
150
  >
 
 
 
 
 
 
 
 
 
 
 
 
151
  {defaultHTML !== html && (
152
  <button
153
  className="bg-white lg:hidden -translate-y-[calc(100%+8px)] absolute left-0 top-0 shadow-md text-gray-950 text-xs font-medium py-2 px-3 lg:px-4 rounded-lg flex items-center gap-2 border border-gray-100 hover:brightness-150 transition-all duration-100 cursor-pointer"
 
4
  import { GrSend } from "react-icons/gr";
5
  import classNames from "classnames";
6
  import { toast } from "react-toastify";
7
+ import { useCopyToClipboard, useLocalStorage } from "react-use";
8
  import { MdPreview } from "react-icons/md";
9
+ import { IoCopy } from "react-icons/io5";
10
 
11
  import Login from "../login/login";
12
  import { defaultHTML } from "./../../../utils/consts";
 
40
  const [openProvider, setOpenProvider] = useState(false);
41
  const [providerError, setProviderError] = useState("");
42
  const [openProModal, setOpenProModal] = useState(false);
43
+ const [state, copyToClipboard] = useCopyToClipboard();
44
 
45
  const audio = new Audio(SuccessSound);
46
  audio.volume = 0.5;
 
150
  isAiWorking ? "animate-pulse" : ""
151
  }`}
152
  >
153
+ {defaultHTML !== html && (
154
+ <p
155
+ className="text-2xl text-white/50 hover:text-white/80 -translate-y-[calc(100%+8px)] absolute top-0 right-0 cursor-pointer"
156
+ onClick={() => {
157
+ copyToClipboard(html);
158
+ toast.success("HTML copied to clipboard");
159
+ audio.play();
160
+ }}
161
+ >
162
+ <IoCopy />
163
+ </p>
164
+ )}
165
  {defaultHTML !== html && (
166
  <button
167
  className="bg-white lg:hidden -translate-y-[calc(100%+8px)] absolute left-0 top-0 shadow-md text-gray-950 text-xs font-medium py-2 px-3 lg:px-4 rounded-lg flex items-center gap-2 border border-gray-100 hover:brightness-150 transition-all duration-100 cursor-pointer"