mirror of
https://github.com/kremalicious/blog.git
synced 2025-02-14 21:10:25 +01:00
24 lines
618 B
TypeScript
24 lines
618 B
TypeScript
import React, { ReactElement } from 'react'
|
|
import loadable from '@loadable/component'
|
|
import styles from './Copy.module.scss'
|
|
import Icon from './Icon'
|
|
|
|
const Clipboard = loadable(() => import('react-clipboard.js'))
|
|
|
|
const onCopySuccess = (e: any) => {
|
|
e.trigger.classList.add(styles.copied)
|
|
}
|
|
|
|
export default function Copy({ text }: { text: string }): ReactElement {
|
|
return (
|
|
<Clipboard
|
|
data-clipboard-text={text}
|
|
button-title="Copy to clipboard"
|
|
onSuccess={(e: ClipboardJS.Event) => onCopySuccess(e)}
|
|
className={styles.button}
|
|
>
|
|
<Icon name="Copy" />
|
|
</Clipboard>
|
|
)
|
|
}
|