From b53bca40c040518c52e29106b09948e939e0810d Mon Sep 17 00:00:00 2001
From: Bekiboo
Date: Wed, 1 Jul 2026 09:54:57 +0300
Subject: [PATCH] make existing eName copyable in "Identity Already Registered"
dialog
---
.../lib/ui/CopyableEName/CopyableEName.svelte | 65 +++++++++++++++++++
.../src/lib/ui/CopyableEName/index.ts | 1 +
infrastructure/eid-wallet/src/lib/ui/index.ts | 1 +
.../src/routes/(app)/ePassport/+page.svelte | 16 ++---
.../main/legacy/KycUpgradeOverlay.svelte | 15 ++---
.../src/routes/(auth)/onboarding/+page.svelte | 14 ++--
6 files changed, 82 insertions(+), 30 deletions(-)
create mode 100644 infrastructure/eid-wallet/src/lib/ui/CopyableEName/CopyableEName.svelte
create mode 100644 infrastructure/eid-wallet/src/lib/ui/CopyableEName/index.ts
diff --git a/infrastructure/eid-wallet/src/lib/ui/CopyableEName/CopyableEName.svelte b/infrastructure/eid-wallet/src/lib/ui/CopyableEName/CopyableEName.svelte
new file mode 100644
index 000000000..ea780892e
--- /dev/null
+++ b/infrastructure/eid-wallet/src/lib/ui/CopyableEName/CopyableEName.svelte
@@ -0,0 +1,65 @@
+
+
+
+
+
{label}
+ {#if copied}
+
+ Copied!
+
+ {/if}
+
+
+
diff --git a/infrastructure/eid-wallet/src/lib/ui/CopyableEName/index.ts b/infrastructure/eid-wallet/src/lib/ui/CopyableEName/index.ts
new file mode 100644
index 000000000..fc682a31a
--- /dev/null
+++ b/infrastructure/eid-wallet/src/lib/ui/CopyableEName/index.ts
@@ -0,0 +1 @@
+export { default } from "./CopyableEName.svelte";
diff --git a/infrastructure/eid-wallet/src/lib/ui/index.ts b/infrastructure/eid-wallet/src/lib/ui/index.ts
index 1ae416c6a..a648887e7 100644
--- a/infrastructure/eid-wallet/src/lib/ui/index.ts
+++ b/infrastructure/eid-wallet/src/lib/ui/index.ts
@@ -9,3 +9,4 @@ export { default as Toast } from "./Toast/Toast.svelte";
export { default as CameraPermissionDialog } from "./CameraPermissionDialog/CameraPermissionDialog.svelte";
export { default as PlatformAppCard } from "./PlatformAppCard/PlatformAppCard.svelte";
export { default as ContactCard } from "./ContactCard/ContactCard.svelte";
+export { default as CopyableEName } from "./CopyableEName/CopyableEName.svelte";
diff --git a/infrastructure/eid-wallet/src/routes/(app)/ePassport/+page.svelte b/infrastructure/eid-wallet/src/routes/(app)/ePassport/+page.svelte
index a9faa1960..6c4087f4a 100644
--- a/infrastructure/eid-wallet/src/routes/(app)/ePassport/+page.svelte
+++ b/infrastructure/eid-wallet/src/routes/(app)/ePassport/+page.svelte
@@ -6,7 +6,7 @@ import {
} from "$env/static/public";
import { AppNav, IdentityCard } from "$lib/fragments";
import type { GlobalState } from "$lib/global";
-import { ButtonAction } from "$lib/ui";
+import { ButtonAction, CopyableEName } from "$lib/ui";
import {
addCounterpartySignature,
capitalize,
@@ -891,16 +891,10 @@ onMount(async () => {
eVault.
{#if duplicateEName}
-
-
- Your existing eVault eName
-
-
- {duplicateEName}
-
-
+
Use the eName above to recover access to your existing
eVault instead.
diff --git a/infrastructure/eid-wallet/src/routes/(app)/main/legacy/KycUpgradeOverlay.svelte b/infrastructure/eid-wallet/src/routes/(app)/main/legacy/KycUpgradeOverlay.svelte
index 2bf789903..8f05bedf1 100644
--- a/infrastructure/eid-wallet/src/routes/(app)/main/legacy/KycUpgradeOverlay.svelte
+++ b/infrastructure/eid-wallet/src/routes/(app)/main/legacy/KycUpgradeOverlay.svelte
@@ -13,6 +13,7 @@ import {
PUBLIC_PROVISIONER_URL,
} from "$env/static/public";
import type { GlobalState } from "$lib/global";
+import { CopyableEName } from "$lib/ui";
import * as Button from "$lib/ui/Button";
import { capitalize } from "$lib/utils";
import axios from "axios";
@@ -481,16 +482,10 @@ async function handleUpgrade() {
eVault.
{#if duplicateEName}
-
-
- Your existing eVault eName
-
-
- {duplicateEName}
-
-
+
Use the eName above to recover access to your existing
eVault instead.
diff --git a/infrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelte b/infrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelte
index af9755b0b..293f9d0ad 100644
--- a/infrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelte
+++ b/infrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelte
@@ -9,7 +9,7 @@ import {
import { Hero } from "$lib/fragments";
import { GlobalState } from "$lib/global";
import { pendingRecovery } from "$lib/stores/pendingRecovery";
-import { ButtonAction, LoadingSheet } from "$lib/ui";
+import { ButtonAction, CopyableEName, LoadingSheet } from "$lib/ui";
import { capitalize, getCanonicalBindingDocString } from "$lib/utils";
import axios from "axios";
import { GraphQLClient } from "graphql-request";
@@ -1359,14 +1359,10 @@ onMount(async () => {
{/if}
{#if duplicateExistingW3id}
-
-
- Existing eVault eName
-
-
- {duplicateExistingW3id}
-
-
+
{/if}
goto("/recover")}>