From c5ec067a79f71937708af485c23a5d93959415b8 Mon Sep 17 00:00:00 2001 From: ciajaf Date: Tue, 18 Nov 2025 03:54:22 +0000 Subject: [PATCH] Update web/superball.html --- web/superball.html | 71 +++++++++++++++++++++++++++++++++++++--------- 1 file changed, 57 insertions(+), 14 deletions(-) diff --git a/web/superball.html b/web/superball.html index f80bc59..e02677d 100644 --- a/web/superball.html +++ b/web/superball.html @@ -42,13 +42,8 @@

Reply

- - - - - - - + +
@@ -57,6 +52,20 @@

Create Profile

+ + + + + + + + + + + + + + @@ -768,8 +777,16 @@ // Get content based on active tab let content = ''; - let eventId = ''; + let nevent = ''; + let neventData; let name = ''; + let about = ''; + let profilePic = ''; + let displayName = ''; + let website = ''; + let banner = ''; + let nip05 = ''; + let lud16 = ''; switch(activeTab) { case 'tab1': // Post @@ -777,12 +794,17 @@ break; case 'tab2': // Reply content = document.getElementById('reply-content').value.trim(); - eventId = document.getElementById('reply-id').value.trim(); - eventRelay = document.getElementById('event-relay').value.trim(); - authorPubkey = document.getElementById('author-pubkey').value.trim(); + nevent = document.getElementById('nevent').value.trim(); break; case 'tab3': // Create Profile name = document.getElementById('name').value.trim(); + about = document.getElementById('about').value.trim(); + profilePic = document.getElementById('profile-pic').value.trim(); + displayName = document.getElementById('display-name').value.trim(); + website = document.getElementById('website').value.trim(); + banner = document.getElementById('banner').value.trim(); + nip05 = document.getElementById('nip05').value.trim(); + lud16 = document.getElementById('lud16').value.trim(); break; } @@ -792,6 +814,10 @@ alert('Please enter message content'); return; } + if (!nevent.startsWith('nevent')) { + alert('Please enter a valid nevent'); + return; + } } else if (activeTab === 'tab3') { if (!name) { alert('Please enter your name'); @@ -799,6 +825,13 @@ } } + try { + neventData = window.NostrTools.nip19.decode(nevent).data; + } catch (error) { + alert('Error decoding nevent string', error.message); + return; + } + try { let eventTemplate = {}; @@ -816,16 +849,26 @@ eventTemplate = { kind: 1, content: content, - tags: [['e', eventId, eventRelay, 'root'], ['p', authorPubkey]], + tags: [['e', neventData.id, neventData.relays[0], 'root'], ['p', neventData.author]], created_at: Math.floor(Date.now() / 1000) }; + neventData.relays.slice(1).forEach(relay => { + eventTemplate.tags.push(['r', relay]); + }); break; - + case 'tab3': // Create Profile eventTemplate = { kind: 0, content: JSON.stringify({ - name: name + name: name, + about: about, + picture: profilePic, + display_name: displayName, + website: website, + banner: banner, + nip05: nip05, + lud16: lud16 }), tags: [], created_at: Math.floor(Date.now() / 1000)