diff --git a/demo.html b/demo.html index 0150aa7..bc55eb6 100644 --- a/demo.html +++ b/demo.html @@ -7,11 +7,19 @@

Svelte embedding demo

- +

Below, we have inserted a script tag that should renter a Svelte component upon loading this page.

- + + + > +

This text will come after the embedded content.

diff --git a/package.json b/package.json index ad528be..5bcdedb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nostri.chat", - "version": "0.1.1", + "version": "0.1.2", "scripts": { "dev": "vite dev", "build": "svelte-kit sync && svelte-package", diff --git a/src/ConnectedWidget.svelte b/src/ConnectedWidget.svelte index 1877bad..0f13224 100644 --- a/src/ConnectedWidget.svelte +++ b/src/ConnectedWidget.svelte @@ -64,7 +64,7 @@ // extraParams.tags.push(['p', mostRecentEvent.pubkey]); // } // } - + const noteId = await $chatAdapter.send(message, extraParams); if (!rootNoteId) { @@ -72,7 +72,7 @@ localStorage.setItem('rootNoteId', rootNoteId); } } - + async function inputKeyDown(event) { if (event.key === 'Enter') { sendMessage(); @@ -83,14 +83,14 @@ function messageReceived(message) { const messageLastEventTag = message.tags.filter(tag => tag[0] === 'e').pop(); let isThread; - + if (chatConfiguration.chatType === 'GLOBAL') { isThread = message.tags.filter(tag => tag[0] === 'e').length >= 1; } else { const pubkeysTagged = message.tags.filter(tag => tag[0] === 'p').map(tag => tag[1]); isThread = new Set(pubkeysTagged).size >= 2; } - + responses[message.id] = []; if (isThread) { @@ -119,7 +119,7 @@ function scrollDown() { animateScroll.scrollToBottom({ container: document.getElementById('messages-container'), - offset: 500, + offset: 999999, // hack, oh well, browsers suck duration: 50 }) } @@ -134,7 +134,7 @@ } let rootNoteId; - + onMount(() => { $chatAdapter.on('message', messageReceived); @@ -188,26 +188,26 @@ let ownName; $: ownName = $chatAdapter?.pubkey ? pubkeyName($chatAdapter.pubkey) : ""; - + function pubkeyName(pubkey) { let name; - + if (profiles[$chatAdapter.pubkey]) { let self = profiles[$chatAdapter.pubkey]; // https://xkcd.com/927/ name = self.display_name || - self.displayName || + self.displayName || self.name || self.nip05; - + } if (!name) { name = `[${pubkey.slice(0, 6)}]`; } return name; } - +
- {#if $selectedMessage} - - {:else} - {#each events as event} - - {#if event.deleted} - 👆 deleted - {/if} - {/each} - {/if} +
+
+ {#if $selectedMessage} + + {:else} + {#each events as event} + + {#if event.deleted} + 👆 deleted + {/if} + {/each} + {/if} +
diff --git a/src/NostrNote.svelte b/src/NostrNote.svelte index 83914a6..c982d14 100644 --- a/src/NostrNote.svelte +++ b/src/NostrNote.svelte @@ -19,7 +19,7 @@ const byWebsiteOwner = !!websiteOwnerPubkey === event.pubkey; $: profiles = $chatData.profiles; - $: displayName = profiles[event.pubkey] && profiles[event.pubkey].display_name || event.pubkey; + $: displayName = profiles[event.pubkey] && profiles[event.pubkey].display_name || `[${event.pubkey.slice(0, 6)}]`; $: nip05 = profiles[event.pubkey] && profiles[event.pubkey].nip05; $: profilePicture = profiles[event.pubkey] && profiles[event.pubkey].picture || `https://robohash.org/${event.pubkey}.png?set=set1`; @@ -50,13 +50,13 @@
- +
{selectMessage(event.id)}}> {event.content}
diff --git a/src/Widget.svelte b/src/Widget.svelte index 0bfd9e2..499d12f 100644 --- a/src/Widget.svelte +++ b/src/Widget.svelte @@ -28,7 +28,7 @@ {#if showChat}
{#if !dismissedIntro} @@ -38,7 +38,7 @@ text-purple-700"> NostriChat - +

This is a FOSS chat app built on top of the Nostr protocol.

@@ -90,8 +90,8 @@ {/if}
{/if} - - + +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index d6022ef..fc724b2 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,5 +1,6 @@