diff --git a/web/assets/js/util/common.js b/web/assets/js/util/common.js
index 3aa1549e..9ad2e01f 100644
--- a/web/assets/js/util/common.js
+++ b/web/assets/js/util/common.js
@@ -53,24 +53,6 @@ function formatSecond(second) {
}
}
-function copyToClipboard(text) {
- // !! here old way of copying is used because not everyone can afford https connection
- return new Promise((resolve) => {
- const textarea = document.createElement("textarea");
-
- textarea.value = text;
-
- document.body.appendChild(textarea);
-
- textarea.select();
- document.execCommand("copy");
-
- document.body.removeChild(textarea);
-
- resolve(text)
- })
-}
-
function addZero(num) {
if (num < 10) {
return "0" + num;
diff --git a/web/assets/js/util/utils.js b/web/assets/js/util/utils.js
index a79ce3a0..ab7c977a 100644
--- a/web/assets/js/util/utils.js
+++ b/web/assets/js/util/utils.js
@@ -480,6 +480,38 @@ class Wireguard {
}
}
+class ClipboardManager {
+ static copyText(content = "") {
+ // !! here old way of copying is used because not everyone can afford https connection
+ return new Promise((resolve) => {
+ try {
+ const textarea = window.document.createElement('textarea');
+
+ textarea.style.fontSize = '12pt';
+ textarea.style.border = '0';
+ textarea.style.padding = '0';
+ textarea.style.margin = '0';
+ textarea.style.position = 'absolute';
+ textarea.style.left = '-9999px';
+ textarea.style.top = `${window.pageYOffset || document.documentElement.scrollTop}px`;
+ textarea.setAttribute('readonly', '');
+ textarea.value = content;
+
+ window.document.body.appendChild(textarea);
+
+ textarea.select();
+ window.document.execCommand("copy");
+
+ window.document.body.removeChild(textarea);
+
+ resolve(true)
+ } catch {
+ resolve(false)
+ }
+ })
+ }
+}
+
class Base64 {
static encode(content = "", safe = false) {
if (safe) {
diff --git a/web/html/common/qrcode_modal.html b/web/html/common/qrcode_modal.html
index 117dd640..914290f6 100644
--- a/web/html/common/qrcode_modal.html
+++ b/web/html/common/qrcode_modal.html
@@ -10,7 +10,7 @@
[[ link.link ]]
@@ -304,7 +304,7 @@
[[ link.link ]]
@@ -431,7 +431,7 @@