diff --git a/src/index.html b/src/index.html
index f4300ab..e42eb91 100644
--- a/src/index.html
+++ b/src/index.html
@@ -4210,6 +4210,38 @@
+
+
+
+
Sign in with Nostr
+
Choose how you want to sign events. NIP-07 browser extension is the only option ready today.
+
+
+
+
+
+
New to Nostr? Get started at nostr.how — pick a signer that fits your setup.
+
+
+
Report template
@@ -20874,6 +20906,24 @@
}
}
+ // Login method picker. NIP-07 is the only enabled path today; NIP-46
+ // (remote signer) and direct nsec paste are tracked as future options
+ // so users see what's coming and don't think we just don't support
+ // their preferred signer.
+ function openLoginPicker() {
+ const modal = $('loginPickerModal');
+ if (!modal) { nostrLogin(); return; } // defensive — fall back to direct login
+ modal.style.display = 'flex';
+ modal.setAttribute('aria-hidden', 'false');
+ if (typeof bringModalToFront === 'function') bringModalToFront(modal);
+ }
+ function closeLoginPicker() {
+ const modal = $('loginPickerModal');
+ if (!modal) return;
+ modal.style.display = 'none';
+ modal.setAttribute('aria-hidden', 'true');
+ }
+
async function loadMyDesigns() {
const wall = $('feedWallMine');
if (!state.community.myPubkey) {
@@ -24265,7 +24315,20 @@
$("tabPremium").addEventListener("click", () => switchModalTab('Premium'));
$("tabSearch").addEventListener("click", () => switchModalTab('Search'));
$("tabMine").addEventListener("click", () => switchModalTab('Mine'));
- $("nostrLoginBtn").addEventListener("click", nostrLogin);
+ $("nostrLoginBtn").addEventListener("click", openLoginPicker);
+ on('loginPickerCloseBtn', 'click', closeLoginPicker);
+ const loginPickerModalEl = $('loginPickerModal');
+ if (loginPickerModalEl) loginPickerModalEl.addEventListener('click', (e) => { if (e.target === loginPickerModalEl) closeLoginPicker(); });
+ on('loginOptNip07', 'click', () => {
+ closeLoginPicker();
+ nostrLogin();
+ });
+ on('loginOptNip46', 'click', () => {
+ toast('Remote signer (NIP-46) support is coming soon. For now, use a NIP-07 browser extension.');
+ });
+ on('loginOptNsec', 'click', () => {
+ toast('Direct nsec login is coming soon. For now, use a NIP-07 browser extension that holds the key for you.');
+ });
$("nostrProfileBtn").addEventListener("click", () => {
const pk = normalizePubkey(state.community?.myPubkey || '');
if (pk) openProfilePage(pk);