aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-31 08:03:01 -0700
committerAdam Soltys <[email protected]>2026-08-31 08:03:01 -0700
commitf6062652958d7af402540d446f122ce0fac1a094 (patch)
treea245aac3767754d2d7503728338c1e29ad5ce832 /src
parentaa7f63516331b1c7c7b7f991430696aa9dc1c022 (diff)
downloadcoinosv3-f6062652958d7af402540d446f122ce0fac1a094.tar.gz
coinosv3-f6062652958d7af402540d446f122ce0fac1a094.zip
The migrate door opens from the username screen too: the same 'Migrate an existing coinos account' link the wizard offers now sits under the claim form (mainnet only, address required) — a coinos.io veteran who skipped it during onboarding no longer needs a fresh account to find it
Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01MrkLsNScXe9b6BviUSdmMr
Diffstat (limited to 'src')
-rw-r--r--src/features/names.js13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/features/names.js b/src/features/names.js
index a360598..eafeb0e 100644
--- a/src/features/names.js
+++ b/src/features/names.js
@@ -753,7 +753,18 @@ export function namesFeature(ctx) {
h('h3', {}, t('namesCustom')),
addr ? h('div', { class: 'addr-box break', style: 'font-size:14px' }, addr) : null,
h('p', { class: 'small muted', style: 'margin:0' }, t('namesCustomHow')),
- claimForm(true)),
+ claimForm(true),
+ // The same door the onboarding wizard offers — a coinos.io veteran
+ // who skipped it there shouldn't have to make a new account to find
+ // it again. Round trip: coinos.io sweeps + releases, the ?migrated=
+ // return claims the name into this wallet. Mainnet only — staging
+ // names have no legacy counterpart.
+ addr && DOMAIN() === 'coinos.io' ? h('button', {
+ class: 'linklike small', style: 'align-self:center;margin-top:6px',
+ onClick: () => {
+ location.href = `https://coinos.io/migrate?to=${encodeURIComponent(addr)}&back=${encodeURIComponent(location.origin + '/')}`;
+ },
+ }, t('onbHaveCoinos')) : null),
h('button', { class: 'btn-ghost btn-block', onClick: () => goBack(() => { ui.nameEditOpen = null; ui.nameClaimError = null; }) }, t('back')));
},
namesAdoptIdentity(signer, npub) { return adoptIdentity(signer, npub); },