about summary refs log tree commit diff
path: root/app/javascript/core
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript/core')
-rw-r--r--app/javascript/core/settings.js24
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);
+  }
+});