mirror of
https://github.com/RoboSats/robosats.git
synced 2025-09-13 00:56:22 +00:00
25 lines
891 B
JavaScript
25 lines
891 B
JavaScript
export function copyToClipboard(textToCopy) {
|
|
// navigator clipboard api needs a secure context (https)
|
|
// this function attempts to copy also on http contexts
|
|
// useful on the http i2p site and on torified browsers
|
|
if (navigator.clipboard && window.isSecureContext) {
|
|
// navigator clipboard api method'
|
|
return navigator.clipboard.writeText(textToCopy);
|
|
} else {
|
|
// text area method
|
|
let textArea = document.createElement("textarea");
|
|
textArea.value = textToCopy;
|
|
// make the textarea out of viewport
|
|
textArea.style.position = "fixed";
|
|
textArea.style.left = "-999999px";
|
|
textArea.style.top = "-999999px";
|
|
document.body.appendChild(textArea);
|
|
textArea.focus();
|
|
textArea.select();
|
|
return new Promise((res, rej) => {
|
|
// here the magic happens
|
|
document.execCommand('copy') ? res() : rej();
|
|
textArea.remove();
|
|
});
|
|
}}
|