From e10e201f93a437ee7e8c6db6e0024153fd312b7c Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 27 Sep 2026 22:52:56 -0700 Subject: A visitor who taps zap, reply, react or boost is shown the way in; the public header has Search and Sign in. Reading is free. A tap on an action without a wallet opens a sheet with the sign-in doors (Google, passkey, Nostr), Create a new wallet, and Not now; the missing-identity path lands there too instead of a toast, and zapping is never offered to a visitor as if it could go through. The header on a public page (a feed, a profile, a thread) carries Search and Sign in. The page is remembered, so a sign-in lands back on it. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01VhUKyXKtsJ67QAFfb7QR9D --- src/app.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/app.js') diff --git a/src/app.js b/src/app.js index d31c75c..ee19009 100644 --- a/src/app.js +++ b/src/app.js @@ -2534,9 +2534,19 @@ function brandHeader(withLock) { messagesBtn(), settingsBtn(), avatarMenu()) - : null + : ui.pubProf && !acc ? visitorButtons() : null ); } +// A visitor on a public page (a feed, a profile, a thread): find anyone, +// and the way in. +function visitorButtons() { + return h('div', { class: 'row gap6', style: 'align-items:center' }, + h('button', { + class: 'header-msgs', title: t('searchUsers'), 'aria-label': t('searchUsers'), + onClick: () => { featureHook('visitorSearch'); setTimeout(() => document.querySelector('.user-search-input')?.focus(), 60); }, + }, h('span', { class: 'hm-ico', html: '' })), + h('button', { class: 'btn-primary btn-sm', style: 'flex-shrink:0', onClick: () => featureHook('visitorSignIn') }, t('nlSignIn'))); +} // Settings tab — view the recovery phrase (+ passphrase) again (important for // users who skipped backup verification) and the offline snapshot transfer. -- cgit v1.2.3