From c0898123636b0f0843e6a0396af8ba190f5b2237 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Thu, 13 Feb 2025 15:34:14 -0800 Subject: [PATCH] Show spinner when joining room --- src/routes/spaces/[relay]/[room]/+page.svelte | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/routes/spaces/[relay]/[room]/+page.svelte b/src/routes/spaces/[relay]/[room]/+page.svelte index 2e846298..cbec187f 100644 --- a/src/routes/spaces/[relay]/[room]/+page.svelte +++ b/src/routes/spaces/[relay]/[room]/+page.svelte @@ -50,8 +50,12 @@ const joinRoom = async () => { if (hasNip29($relay)) { + joiningRoom = true + const message = await getThunkError(nip29.joinRoom(url, room)) + joiningRoom = false + if (message && !message.includes("already")) { return pushToast({theme: "error", message}) } @@ -126,7 +130,8 @@ const scrollToBottom = () => element?.scrollTo({top: 0, behavior: "smooth"}) - let loading = $state(true) + let joiningRoom = $state(false) + let loadingEvents = $state(true) let share = $state(popKey("share")) let parent: TrustedEvent | undefined = $state() let element: HTMLElement | undefined = $state() @@ -202,7 +207,7 @@ subscriptionFilters: [{kinds: [DELETE, REACTION, MESSAGE], "#h": [room], since: now()}], initialEvents: getEventsForUrl(url, [{...filter, limit: 20}]), onExhausted: () => { - loading = false + loadingEvents = false }, })) }) @@ -238,8 +243,12 @@ Leave Room {:else} - {/if} @@ -271,8 +280,8 @@ {/if} {/each}

- {#if loading} - Looking for messages... + {#if loadingEvents} + Looking for messages... {:else} End of message history {/if}