From f4f60a533377f697499e5fafacfb67ce32c2057d Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Tue, 19 Nov 2024 13:24:18 -0800 Subject: [PATCH] Listen for new threads, add reply/quote button to channels and chats, better quote handling --- src/app/components/ChannelCompose.svelte | 26 +++---- src/app/components/ChannelMessage.svelte | 11 +++ src/app/components/Chat.svelte | 19 ++++- src/app/components/ChatMessage.svelte | 4 +- src/app/components/ChatMessageMenu.svelte | 8 ++ src/app/components/ContentCode.svelte | 2 +- src/app/components/ContentQuote.svelte | 75 ++++++++++++++----- src/app/components/EventInfo.svelte | 12 +-- src/app/components/ProfileFeed.svelte | 5 +- src/lib/editor/EditEvent.svelte | 2 +- src/routes/spaces/[relay]/[room]/+page.svelte | 21 +++++- .../spaces/[relay]/threads/+page.svelte | 19 ++++- 12 files changed, 153 insertions(+), 51 deletions(-) diff --git a/src/app/components/ChannelCompose.svelte b/src/app/components/ChannelCompose.svelte index d7920437..1423fb5e 100644 --- a/src/app/components/ChannelCompose.svelte +++ b/src/app/components/ChannelCompose.svelte @@ -1,19 +1,24 @@ diff --git a/src/app/components/ChannelMessage.svelte b/src/app/components/ChannelMessage.svelte index f9451709..24375044 100644 --- a/src/app/components/ChannelMessage.svelte +++ b/src/app/components/ChannelMessage.svelte @@ -13,6 +13,8 @@ import LongPress from "@lib/components/LongPress.svelte" import Avatar from "@lib/components/Avatar.svelte" import Link from "@lib/components/Link.svelte" + import Icon from "@lib/components/Icon.svelte" + import Button from "@lib/components/Button.svelte" import Content from "@app/components/Content.svelte" import ThunkStatus from "@app/components/ThunkStatus.svelte" import ReplySummary from "@app/components/ReplySummary.svelte" @@ -27,6 +29,7 @@ export let url, room export let event: TrustedEvent + export let replyTo: any = undefined export let showPubkey = false export let isHead = false export let inert = false @@ -40,6 +43,8 @@ const rootEvent = rootId ? deriveEvent(rootId, rootHints) : readable(null) const [_, colorValue] = colors[parseInt(hash(event.pubkey)) % colors.length] + const reply = () => replyTo(event) + const onClick = () => { const root = $rootEvent || event @@ -65,6 +70,7 @@ + + + {/if} diff --git a/src/app/components/Chat.svelte b/src/app/components/Chat.svelte index 88cae1ad..ba851039 100644 --- a/src/app/components/Chat.svelte +++ b/src/app/components/Chat.svelte @@ -10,7 +10,10 @@ {value.trim()} diff --git a/src/app/components/ContentQuote.svelte b/src/app/components/ContentQuote.svelte index 86f7b767..f600793e 100644 --- a/src/app/components/ContentQuote.svelte +++ b/src/app/components/ContentQuote.svelte @@ -1,13 +1,16 @@ - + diff --git a/src/app/components/EventInfo.svelte b/src/app/components/EventInfo.svelte index 597a711d..d7beb870 100644 --- a/src/app/components/EventInfo.svelte +++ b/src/app/components/EventInfo.svelte @@ -1,5 +1,6 @@ @@ -22,11 +24,11 @@
The full details of this event are shown below.
-

Event ID

+

Event Link

diff --git a/src/app/components/ProfileFeed.svelte b/src/app/components/ProfileFeed.svelte index e386491f..7a6563f4 100644 --- a/src/app/components/ProfileFeed.svelte +++ b/src/app/components/ProfileFeed.svelte @@ -6,6 +6,7 @@ import type {TrustedEvent} from "@welshman/util" import {createFeedController} from "@welshman/app" import {createScroller} from "@lib/html" + import {fly} from "@lib/transition" import Spinner from "@lib/components/Spinner.svelte" import NoteItem from "@app/components/NoteItem.svelte" @@ -54,7 +55,9 @@
{#each events as event (event.id)} - +
+ +
{/each}

diff --git a/src/lib/editor/EditEvent.svelte b/src/lib/editor/EditEvent.svelte index bb86a744..cf5502d3 100644 --- a/src/lib/editor/EditEvent.svelte +++ b/src/lib/editor/EditEvent.svelte @@ -11,7 +11,7 @@ export let selected: NodeViewProps["selected"] const displayEvent = (e: TrustedEvent) => { - const content = e?.tags.find(nthEq(0, "alt"))?.[1] || e?.content + const content = e?.tags.find(nthEq(0, "alt"))?.[1] || e?.content || "" return content.length > 1 ? ellipsize(content, 30) diff --git a/src/routes/spaces/[relay]/[room]/+page.svelte b/src/routes/spaces/[relay]/[room]/+page.svelte index 3a1a7869..7fed7d3b 100644 --- a/src/routes/spaces/[relay]/[room]/+page.svelte +++ b/src/routes/spaces/[relay]/[room]/+page.svelte @@ -8,9 +8,12 @@