diff options
Diffstat (limited to 'app/javascript/core')
-rw-r--r-- | app/javascript/core/settings.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/javascript/core/settings.js b/app/javascript/core/settings.js index e48fcb9b1..377c899dc 100644 --- a/app/javascript/core/settings.js +++ b/app/javascript/core/settings.js @@ -50,3 +50,27 @@ delegate(document, '#account_locked', 'change', ({ target }) => { lock.style.display = 'none'; } }); + +delegate(document, '.input-copy input', 'click', ({ target }) => { + target.select(); +}); + +delegate(document, '.input-copy button', 'click', ({ target }) => { + const input = target.parentNode.querySelector('input'); + + input.focus(); + input.select(); + + try { + if (document.execCommand('copy')) { + input.blur(); + target.parentNode.classList.add('copied'); + + setTimeout(() => { + target.parentNode.classList.remove('copied'); + }, 700); + } + } catch (err) { + console.error(err); + } +}); |