2020-05-22 14:38:19 +02:00
|
|
|
import React, { ReactElement } from 'react'
|
2023-01-29 22:58:19 +01:00
|
|
|
import Clipboard from 'react-clipboard.js'
|
2022-11-11 03:31:54 +01:00
|
|
|
import * as styles from './Copy.module.css'
|
2019-11-18 21:59:20 +01:00
|
|
|
import Icon from './Icon'
|
2019-11-23 13:16:39 +01:00
|
|
|
|
2019-11-18 21:59:20 +01:00
|
|
|
const onCopySuccess = (e: any) => {
|
2022-11-11 03:31:54 +01:00
|
|
|
e.trigger.classList.add(styles.copied)
|
2019-11-18 21:59:20 +01:00
|
|
|
}
|
|
|
|
|
2020-05-22 14:38:19 +02:00
|
|
|
export default function Copy({ text }: { text: string }): ReactElement {
|
2019-11-18 21:59:20 +01:00
|
|
|
return (
|
|
|
|
<Clipboard
|
|
|
|
data-clipboard-text={text}
|
|
|
|
button-title="Copy to clipboard"
|
2019-11-24 14:29:25 +01:00
|
|
|
onSuccess={(e: ClipboardJS.Event) => onCopySuccess(e)}
|
2022-11-11 03:31:54 +01:00
|
|
|
className={styles.button}
|
2019-11-18 21:59:20 +01:00
|
|
|
>
|
|
|
|
<Icon name="Copy" />
|
|
|
|
</Clipboard>
|
|
|
|
)
|
|
|
|
}
|