ClickToCopy.jsx 707 B

123456789101112131415161718192021222324
  1. import React, { useState } from "react";
  2. import useCopying from "./useCopying";
  3. import CopyingTooltip from "./CopyingTooltip";
  4. export default ({ text }) => {
  5. const [textareaChild, copyText] = useCopying(text);
  6. const [hovered, setHovered] = useState(false);
  7. const [copied, setCopied] = useState(false);
  8. return (
  9. <div className="click-to-copy">
  10. <span
  11. className="click-to-copy__text"
  12. onClick={() => {copyText(); setCopied(true)}}
  13. onMouseOver={() => {setCopied(false); setHovered(true)}}
  14. onMouseOut={() => setHovered(false)}
  15. >
  16. {text}
  17. </span>
  18. <CopyingTooltip hovered={hovered} copied={copied}/>
  19. {textareaChild}
  20. </div>
  21. )
  22. }