diff --git a/app/client/src/components/ads/CopyToClipBoard.tsx b/app/client/src/components/ads/CopyToClipBoard.tsx new file mode 100644 index 0000000000..e6ff4633a3 --- /dev/null +++ b/app/client/src/components/ads/CopyToClipBoard.tsx @@ -0,0 +1,60 @@ +import React, { createRef, useState } from "react"; +import styled from "styled-components"; +import copy from "copy-to-clipboard"; +import TextInput from "components/ads/TextInput"; +import Button, { Category, Size } from "components/ads/Button"; + +const Wrapper = styled.div` + display: flex; + + div { + flex-basis: calc(100% - 110px); + } + a { + flex-basis: 110px; + } +`; + +const CopyToClipboard = (props: any) => { + const { copyText } = props; + const copyURLInput = createRef(); + const [isCopied, setIsCopied] = useState(false); + + const copyToClipboard = (url: string) => { + copy(url); + setIsCopied(true); + setTimeout(() => { + setIsCopied(false); + }, 3000); + }; + + const selectText = () => { + if (copyURLInput.current) { + copyURLInput.current.setSelectionRange(0, copyText.length); + } + }; + return ( + + { + selectText(); + }} + defaultValue={copyText} + /> + +