From f6062652958d7af402540d446f122ce0fac1a094 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 31 Aug 2026 08:03:01 -0700 Subject: 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 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01MrkLsNScXe9b6BviUSdmMr --- src/features/names.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src') 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); }, -- cgit v1.2.3