aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-27 12:05:06 -0700
committerAdam Soltys <[email protected]>2026-08-27 12:05:06 -0700
commit16527520cfda51ee820bb17f2168791d99f1c5f6 (patch)
treeb82e58b8ae175b0c34dc5cdab20467f900674723
parent0526da5cb8c5d1790effe6c3871c1f237962509c (diff)
downloadcoinosv3-16527520cfda51ee820bb17f2168791d99f1c5f6.tar.gz
coinosv3-16527520cfda51ee820bb17f2168791d99f1c5f6.zip
Each door leads to its own room: choosing Nostr shows only the nostr ways in — Google and passkey stay on the porch where they already stand, though link and reconnect keep the full set, since a Google-born account needs the same door back
Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_019eA8JRq9Wr7z2fRQk99HLi
-rw-r--r--src/features/nostrlogin.js12
-rw-r--r--src/i18n.js2
2 files changed, 9 insertions, 5 deletions
diff --git a/src/features/nostrlogin.js b/src/features/nostrlogin.js
index 9b9d1ef..a084dd1 100644
--- a/src/features/nostrlogin.js
+++ b/src/features/nostrlogin.js
@@ -287,11 +287,15 @@ export function nostrLoginFeature(ctx) {
];
}
- // The ways in, as buttons. `run` receives a signer factory.
- function signerButtons(run) {
+ // The ways in, as buttons. `run` receives a signer factory. The expanded
+ // "Log in with Nostr" card passes nostrOnly — Google and passkey already
+ // stand on the front door, and repeating them under a Nostr heading reads
+ // as noise — while link/reconnect keep them: an account born from a Google
+ // or passkey sign-in needs the same door to get back in.
+ function signerButtons(run, { nostrOnly = false } = {}) {
const hasExt = typeof window !== 'undefined' && !!window.nostr;
return h('div', { class: 'col', style: 'gap:8px' },
- ...externalButtons(run),
+ ...(nostrOnly ? [] : externalButtons(run)),
hasExt
? h('button', { class: 'btn-block', disabled: ui.nostrLoginBusy,
onClick: () => run(() => extensionSigner()) }, t('nlExtension'))
@@ -346,7 +350,7 @@ export function nostrLoginFeature(ctx) {
h('h3', { style: 'margin:0' }, t('nlTitle')),
h('span', { class: 'linklike small', onClick: () => { ui.nostrLoginOpen = false; render(); } }, t('cancel'))),
h('p', { class: 'small muted', style: 'margin:0' }, t('nlDesc')),
- signerButtons(loginWith));
+ signerButtons(loginWith, { nostrOnly: true }));
}
// Re-attach a signer for the account already linked here. Deliberately not
diff --git a/src/i18n.js b/src/i18n.js
index 8ec64ce..66c4402 100644
--- a/src/i18n.js
+++ b/src/i18n.js
@@ -629,7 +629,7 @@ const STR = {
nlWaitingSigner: 'Waiting for your signer to connect…',
nlTitle: 'Log in with Nostr',
nlSignInNostr: 'Sign in with Nostr',
- nlDesc: 'Open the same wallet on any device — with Google, a passkey, or your Nostr account.',
+ nlDesc: 'Use your Nostr account to open your wallet — on any device, with the same account.',
nlExtension: 'Use browser extension',
nlGoogle: 'Sign in with Google',
nlPasskey: 'Sign in with a passkey',