1
0
Fork 0
blog/src/components/atoms/Qr.jsx

45 lines
985 B
React
Raw Normal View History

2018-10-28 11:16:57 +01:00
import React from 'react'
import PropTypes from 'prop-types'
import { QRCode } from 'react-qr-svg'
import Clipboard from 'react-clipboard.js'
import { ReactComponent as IconClipboard } from '../../images/clipboard.svg'
2018-10-28 11:16:57 +01:00
import styles from './Qr.module.scss'
const onCopySuccess = e => {
e.trigger.classList.add(styles.copied)
}
const Qr = ({ address, title }) => (
2018-10-28 11:16:57 +01:00
<>
{title && <h4>{title}</h4>}
<QRCode
bgColor="transparent"
fgColor="#6b7f88"
level="Q"
style={{ width: 120 }}
value={address}
2018-10-28 11:16:57 +01:00
className={styles.qr}
/>
2018-10-28 11:16:57 +01:00
<pre className={styles.code}>
<code>{address}</code>
2018-10-28 11:16:57 +01:00
<Clipboard
data-clipboard-text={address}
button-title="Copy to clipboard"
onSuccess={e => onCopySuccess(e)}
className={styles.button}
>
<IconClipboard />
</Clipboard>
</pre>
2018-10-28 11:16:57 +01:00
</>
)
Qr.propTypes = {
address: PropTypes.string.isRequired,
title: PropTypes.string
}
export default Qr