diff options
| author | lens <lens@neural.garden> | 2020-12-26 20:59:17 +0000 |
|---|---|---|
| committer | lens <lens@neural.garden> | 2020-12-26 20:59:17 +0000 |
| commit | 7c15f34186622410e25ee85c01d832e48e012140 (patch) | |
| tree | e0a8dbd5e7b6a3936e7b9a666c2622ecc7ff1a65 /frontend/app/common/copyToClipboardButton.component.js | |
| parent | 94234db6a771f687788d3decc6dd1ba01731f7af (diff) | |
| parent | 85bfb949fea4e69dabc5b7544ce70d26d3d11393 (diff) | |
Merge branch 'master' of asdf.us:swimmer
Diffstat (limited to 'frontend/app/common/copyToClipboardButton.component.js')
| -rw-r--r-- | frontend/app/common/copyToClipboardButton.component.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/frontend/app/common/copyToClipboardButton.component.js b/frontend/app/common/copyToClipboardButton.component.js new file mode 100644 index 0000000..0defba5 --- /dev/null +++ b/frontend/app/common/copyToClipboardButton.component.js @@ -0,0 +1,24 @@ +import React, { Component } from 'react' +import { writeToClipboard } from 'app/utils' + +export default class CopyToClipboardButton extends Component { + state = { + copied: false, + } + + handleClick() { + writeToClipboard(this.props.data) + this.setState({ copied: true }) + } + + render() { + return ( + <button + className={this.state.copied ? 'copyButton copied' : 'copyButton'} + onClick={this.handleClick.bind(this)} + > + {this.state.copied ? 'Copied!' : 'Copy'} + </button> + ) + } +} |
