aboutsummaryrefslogtreecommitdiffstats
path: root/src/app.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-17 23:53:15 -0700
committerAdam Soltys <[email protected]>2026-08-17 23:53:15 -0700
commit373566416e6a3ce8ff83aafcd6afc96147a01580 (patch)
treec3a67d30a03ba9af840a300c90ba06e5db4e7cf0 /src/app.js
parent5a9deb5688ee560c2b020582d43dddbed0cda873 (diff)
downloadcoinosv3-373566416e6a3ce8ff83aafcd6afc96147a01580.tar.gz
coinosv3-373566416e6a3ce8ff83aafcd6afc96147a01580.zip
The avatar ask learns to recognize a face: an identity with a published picture skips the punk picker and lands straight on done
Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01JtaatFfAbx91Nh3xqKVqKz
Diffstat (limited to 'src/app.js')
-rw-r--r--src/app.js9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/app.js b/src/app.js
index 063da05..8f5c622 100644
--- a/src/app.js
+++ b/src/app.js
@@ -2696,7 +2696,14 @@ function onboardScreen() {
if (o.enterAddr === undefined) o.enterAddr = addr || null;
// Only a real (custom) name advances by itself — the background
// auto-claim of the npub-shaped default doesn't count as setting up.
- if (addr && addr !== o.enterAddr && !/^npub1/.test(addr)) o.step = 'avatar';
+ if (addr && addr !== o.enterAddr && !/^npub1/.test(addr)) {
+ // The avatar ask is for brand-new profiles. An identity that already
+ // wears a face (a nostr login with a published picture) skips straight
+ // to done — the punk picker restyling a real profile helps nobody.
+ const me = (featureHook('nostrLoginIdentity') || {}).pubkey || (wallet.nostrPubkey && wallet.nostrPubkey());
+ const prof = me ? featureHook('cachedProfile', me) : null;
+ o.step = prof && prof.picture ? 'success' : 'avatar';
+ }
}
try { localStorage.setItem(ONB_STEP_KEY, o.step); } catch {}
const page = (kids) => h('div', { class: 'col onb', style: 'gap:20px' }, ...kids);