diff --git a/src/views/AccountViewView.vue b/src/views/AccountViewView.vue index 1cb9be94..9c98fdbc 100644 --- a/src/views/AccountViewView.vue +++ b/src/views/AccountViewView.vue @@ -1661,14 +1661,12 @@ export default class AccountViewView extends Vue { } onShareInfo() { - // Call the existing logic for sharing info, e.g., open the share dialog - this.openShareDialog(); - } - - // Placeholder for share dialog logic - openShareDialog() { - // TODO: Implement share dialog logic - this.notify.info("Share dialog not yet implemented."); + // Navigate to QR code sharing page - mobile uses full scan, web uses basic + if (Capacitor.isNativePlatform()) { + this.$router.push({ name: "contact-qr-scan-full" }); + } else { + this.$router.push({ name: "contact-qr" }); + } } onRecheckLimits() { diff --git a/src/views/ContactQRScanShowView.vue b/src/views/ContactQRScanShowView.vue index 5fbe5c5f..1396ce9b 100644 --- a/src/views/ContactQRScanShowView.vue +++ b/src/views/ContactQRScanShowView.vue @@ -151,7 +151,6 @@ import { getContactJwtFromJwtUrl } from "../libs/crypto"; import { CONTACT_CSV_HEADER, CONTACT_IMPORT_CONFIRM_URL_PATH_TIME_SAFARI, - generateEndorserJwtUrlForAccount, register, setVisibilityUtil, } from "../libs/endorserServer"; @@ -162,7 +161,6 @@ import { logger } from "../utils/logger"; import { QRScannerFactory } from "@/services/QRScanner/QRScannerFactory"; import { CameraState } from "@/services/QRScanner/types"; import { PlatformServiceMixin } from "@/utils/PlatformServiceMixin"; -import { Account } from "@/db/tables/accounts"; import { createNotifyHelpers } from "@/utils/notify"; import { NOTIFY_QR_INITIALIZATION_ERROR, @@ -547,8 +545,8 @@ export default class ContactQRScanShow extends Vue { name: contact.name, }); this.notify.toast( + "Submitted", NOTIFY_QR_REGISTRATION_SUBMITTED.message, - undefined, QR_TIMEOUT_SHORT, ); @@ -612,20 +610,15 @@ export default class ContactQRScanShow extends Vue { } async onCopyUrlToClipboard() { - const account = (await libsUtil.retrieveFullyDecryptedAccount( - this.activeDid, - )) as Account; - const jwtUrl = await generateEndorserJwtUrlForAccount( - account, - this.isRegistered, - this.givenName, - this.profileImageUrl, - true, - ); + // Copy the CSV format QR code value instead of generating a deep link useClipboard() - .copy(jwtUrl) + .copy(this.qrValue) .then(() => { - this.notify.toast(NOTIFY_QR_URL_COPIED.message, undefined, QR_TIMEOUT_MEDIUM); + this.notify.toast( + "Copied", + NOTIFY_QR_URL_COPIED.message, + QR_TIMEOUT_MEDIUM, + ); }); }