From 122ecb5769e20173c99033ade0057d38e12cb384 Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Fri, 15 Nov 2024 01:18:41 -0500 Subject: HTML-ify message bodies once, on receipt, and not every time the message is rendered. ~16% of the `hi development` channel's rendering time was taken up on this. --- ui/lib/components/Message.svelte | 6 +----- ui/lib/components/MessageRun.svelte | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) (limited to 'ui/lib/components') diff --git a/ui/lib/components/Message.svelte b/ui/lib/components/Message.svelte index 0c8eeec..fddeecd 100644 --- a/ui/lib/components/Message.svelte +++ b/ui/lib/components/Message.svelte @@ -1,15 +1,11 @@ diff --git a/ui/lib/components/MessageInput.svelte b/ui/lib/components/MessageInput.svelte index 26521e1..22456f3 100644 --- a/ui/lib/components/MessageInput.svelte +++ b/ui/lib/components/MessageInput.svelte @@ -5,16 +5,14 @@ let form; let value = $state(''); - let pending = false; - - let disabled = $derived(pending); + let disabled = $state(false); async function onSubmit(event) { event.preventDefault(); - pending = true; + disabled = true; await postToChannel(channel, value); form.reset(); - pending = false; + disabled = false; } function onKeyDown(event) { -- cgit v1.2.3 From c2f711c56a3bc736cf507a920dee0915b69af77e Mon Sep 17 00:00:00 2001 From: Kit La Touche Date: Thu, 21 Nov 2024 16:26:10 -0500 Subject: Use store.set where appropriate If you're setting it to a static value, use set. --- ui/lib/components/LogOut.svelte | 2 +- ui/routes/(app)/+layout.svelte | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'ui/lib/components') diff --git a/ui/lib/components/LogOut.svelte b/ui/lib/components/LogOut.svelte index 25dd5e9..52aa039 100644 --- a/ui/lib/components/LogOut.svelte +++ b/ui/lib/components/LogOut.svelte @@ -7,7 +7,7 @@ event.preventDefault(); const response = await logOut(); if (200 <= response.status && response.status < 300) { - currentUser.update(() => null); + currentUser.set(null); goto('/login'); } } diff --git a/ui/routes/(app)/+layout.svelte b/ui/routes/(app)/+layout.svelte index cc900a6..e542f24 100644 --- a/ui/routes/(app)/+layout.svelte +++ b/ui/routes/(app)/+layout.svelte @@ -20,10 +20,10 @@ let channel = $derived($page.params.channel); function onBooted(boot) { - currentUser.update(() => ({ + currentUser.set({ id: boot.login.id, username: boot.login.name - })); + }); logins.update((value) => value.setLogins(boot.logins)); channelsList.update((value) => value.setChannels(boot.channels)); messages.update((value) => value.setMessages(boot.messages)); @@ -51,11 +51,11 @@ events = subscribeToEvents(response.data.resume_point); break; case 401: - currentUser.update(() => null); + currentUser.set(null); goto('/login'); break; case 503: - currentUser.update(() => null); + currentUser.set(null); goto('/setup'); break; default: -- cgit v1.2.3 From 26fb3e0b364d7201cf0dfd9e524473ffa20dfa33 Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Tue, 26 Nov 2024 02:04:40 -0500 Subject: Best-guess an ARIA role for this element. Svelte's lint complains if you add interaction to a div but don't give that div an ARIA role. --- ui/lib/components/Message.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ui/lib/components') diff --git a/ui/lib/components/Message.svelte b/ui/lib/components/Message.svelte index fddeecd..1663696 100644 --- a/ui/lib/components/Message.svelte +++ b/ui/lib/components/Message.svelte @@ -23,7 +23,7 @@ } -
+
{at} {#if editable} -- cgit v1.2.3