|
|
|
@ -11,13 +11,12 @@ type CopyProps = {
|
|
|
|
|
copyContent?: string;
|
|
|
|
|
onCopyComplete?: (copiedValue: string | undefined) => void;
|
|
|
|
|
hotkey?: boolean;
|
|
|
|
|
showToast?: boolean;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
type CopyToClipboardButtonProps = Omit<SessionButtonProps, 'children' | 'onClick'> & CopyProps;
|
|
|
|
|
|
|
|
|
|
export const CopyToClipboardButton = (props: CopyToClipboardButtonProps) => {
|
|
|
|
|
const { copyContent, onCopyComplete, hotkey = false, text, showToast = true } = props;
|
|
|
|
|
const { copyContent, onCopyComplete, hotkey = false, text } = props;
|
|
|
|
|
const [copied, setCopied] = useState(false);
|
|
|
|
|
|
|
|
|
|
const onClick = () => {
|
|
|
|
@ -28,9 +27,8 @@ export const CopyToClipboardButton = (props: CopyToClipboardButtonProps) => {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
clipboard.writeText(toCopy);
|
|
|
|
|
if (showToast) {
|
|
|
|
|
ToastUtils.pushCopiedToClipBoard();
|
|
|
|
|
}
|
|
|
|
|
ToastUtils.pushCopiedToClipBoard();
|
|
|
|
|
|
|
|
|
|
setCopied(true);
|
|
|
|
|
if (onCopyComplete) {
|
|
|
|
|
onCopyComplete(text);
|
|
|
|
@ -56,13 +54,12 @@ type CopyToClipboardIconProps = Omit<SessionIconButtonProps, 'children' | 'onCli
|
|
|
|
|
CopyProps;
|
|
|
|
|
|
|
|
|
|
export const CopyToClipboardIcon = (props: CopyToClipboardIconProps & { copyContent: string }) => {
|
|
|
|
|
const { copyContent, onCopyComplete, hotkey = false, showToast = true } = props;
|
|
|
|
|
const { copyContent, onCopyComplete, hotkey = false } = props;
|
|
|
|
|
|
|
|
|
|
const onClick = () => {
|
|
|
|
|
clipboard.writeText(copyContent);
|
|
|
|
|
if (showToast) {
|
|
|
|
|
ToastUtils.pushCopiedToClipBoard();
|
|
|
|
|
}
|
|
|
|
|
ToastUtils.pushCopiedToClipBoard();
|
|
|
|
|
|
|
|
|
|
if (onCopyComplete) {
|
|
|
|
|
onCopyComplete(copyContent);
|
|
|
|
|
}
|
|
|
|
|