Browse Source

added button to copy invoice

renovate/lint-staged-8.x
Nahom Abi 7 years ago
parent
commit
152147d667
  1. 24
      app/routes/activity/components/components/Modal/Invoice/Invoice.js
  2. 29
      app/routes/activity/components/components/Modal/Invoice/Invoice.scss

24
app/routes/activity/components/components/Modal/Invoice/Invoice.js

@ -5,15 +5,22 @@ import Moment from 'react-moment'
import 'moment-timezone' import 'moment-timezone'
import QRCode from 'qrcode.react' import QRCode from 'qrcode.react'
import copy from 'copy-to-clipboard'
import { showNotification } from 'notifications'
import { FaCircle } from 'react-icons/lib/fa' import { FaCircle, FaCopy } from 'react-icons/lib/fa'
import { btc } from 'utils' import { btc } from 'utils'
import styles from './Invoice.scss' import styles from './Invoice.scss'
const Invoice = ({ invoice, ticker, currentTicker }) => ( const Invoice = ({ invoice, ticker, currentTicker }) => {
const copyOnClick = (data) => {
copy(data)
showNotification('Noice', 'Successfully copied to clipboard')
}
return (
<div className={styles.container}> <div className={styles.container}>
<div className={styles.settled}> <div className={styles.settled}>
{ {
@ -42,12 +49,12 @@ const Invoice = ({ invoice, ticker, currentTicker }) => (
<QRCode value={invoice.payment_request} size={150} /> <QRCode value={invoice.payment_request} size={150} />
</div> </div>
<div className={styles.input}> <div className={styles.input}>
<input <p className={styles.hello}>
readOnly <span>{invoice.payment_request}</span>
className={styles.paymentRequest} <span onClick={() => copyOnClick(invoice.payment_request)} className='hint--left' data-hint='Copy Invoice'>
onClick={event => event.target.select()} <FaCopy />
defaultValue={invoice.payment_request} </span>
/> </p>
</div> </div>
<p className={styles.date}> <p className={styles.date}>
Created on Created on
@ -55,6 +62,7 @@ const Invoice = ({ invoice, ticker, currentTicker }) => (
</p> </p>
</div> </div>
) )
}
Invoice.propTypes = { Invoice.propTypes = {
invoice: PropTypes.object.isRequired, invoice: PropTypes.object.isRequired,

29
app/routes/activity/components/components/Modal/Invoice/Invoice.scss

@ -75,4 +75,33 @@
margin-left: 3px; margin-left: 3px;
} }
} }
.hello {
display: flex;
flex-direction: row;
font-family: 'Roboto';
font-size: 14px;
font-weight: 200;
background: $lightgrey;
span {
padding: 15px;
}
span:nth-child(1) {
flex: 9;
overflow-x: scroll;
}
span:nth-child(2) {
background: $darkgrey;
color: $black;
cursor: pointer;
transition: all 0.25s;
&:hover {
background: $darkestgrey;
}
}
}
} }
Loading…
Cancel
Save