From b38adf81adc592d1e49bf19a3f04a2c53055a288 Mon Sep 17 00:00:00 2001 From: Knut Ahlers Date: Sun, 13 Aug 2023 03:02:38 +0200 Subject: [PATCH] [#110] Add interaction buttons for displayed secret (#111) --- src/app.vue | 78 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 72 insertions(+), 6 deletions(-) diff --git a/src/app.vue b/src/app.vue index ccc2a1d..504ddab 100644 --- a/src/app.vue +++ b/src/app.vue @@ -236,14 +236,57 @@ @@ -311,6 +354,7 @@ export default { secretExpiry: null, secretId: '', secretQRDataURL: '', + secretContentQRDataURL: '', securePassword: '', selectedExpiry: null, showError: false, @@ -335,6 +379,16 @@ export default { }) }, + copySecret() { + navigator.clipboard.writeText(this.secret) + .then(() => { + this.copyToClipboardSuccess = true + window.setTimeout(() => { + this.copyToClipboardSuccess = false + }, 500) + }) + }, + copySecretUrl() { navigator.clipboard.writeText(this.secretUrl) .then(() => { @@ -503,6 +557,18 @@ export default { window.setTheme(to ? 'dark' : 'light') }, + secret(to) { + if (this.customize.disableQRSupport || !to) { + return + } + + qrcode.toDataURL(to, { width: 200 }) + .then(url => { + this.secretContentQRDataURL = url + }) + .catch(() => this.secretContentQRDataURL = null) + }, + secretUrl(to) { if (this.customize.disableQRSupport) { return