From 3f914d02ccf90d4d753ea811de4ab2b15ed1422d Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Fri, 16 Jan 2026 11:33:03 -0800 Subject: [PATCH] Fix signer disconnection flash, nav icon sizes --- pnpm-lock.yaml | Bin 346982 -> 354673 bytes src/app/components/LogOut.svelte | 1 + src/app/components/PrimaryNav.svelte | 32 +++--- src/app/components/PrimaryNavItemSpace.svelte | 2 +- src/app/components/ProfileEject.svelte | 92 ------------------ src/app/components/SignerStatus.svelte | 2 +- src/lib/components/PrimaryNavItem.svelte | 8 +- 7 files changed, 25 insertions(+), 112 deletions(-) delete mode 100644 src/app/components/ProfileEject.svelte diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 294549bbc4a38df7ccbb420e945456b87fff2b7a..dde1ba3c8a7db3c922849734990758fd0fdbb2d4 100644 GIT binary patch delta 11043 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 Z18yDs_$v-;`&l@4#kD^F66SuL`d@6&`I7(u diff --git a/src/app/components/LogOut.svelte b/src/app/components/LogOut.svelte index 490c108c..f735b69b 100644 --- a/src/app/components/LogOut.svelte +++ b/src/app/components/LogOut.svelte @@ -17,6 +17,7 @@ await logout() window.location.href = "/" } catch (e) { + console.error(e) loading = false } } diff --git a/src/app/components/PrimaryNav.svelte b/src/app/components/PrimaryNav.svelte index e27ffd03..ea1fa482 100644 --- a/src/app/components/PrimaryNav.svelte +++ b/src/app/components/PrimaryNav.svelte @@ -62,7 +62,7 @@ {:else} - + {#each primarySpaceUrls as url (url)} @@ -74,11 +74,11 @@ class="tooltip-right" onclick={showOtherSpacesMenu} notification={otherSpaceNotifications}> - + {/if} - + {/each} @@ -91,17 +91,21 @@ href="/settings/profile" prefix="/settings" class="tooltip-right"> - + {#if $userProfile?.picture} + + {:else} + + {/if} - + - + @@ -118,26 +122,26 @@
- + - + {#if PLATFORM_RELAYS.length !== 1} - + {/if}
- + {#if $userProfile?.picture} + + {:else} + + {/if}
diff --git a/src/app/components/PrimaryNavItemSpace.svelte b/src/app/components/PrimaryNavItemSpace.svelte index a9321563..2b675972 100644 --- a/src/app/components/PrimaryNavItemSpace.svelte +++ b/src/app/components/PrimaryNavItemSpace.svelte @@ -19,5 +19,5 @@ title={displayRelayUrl(url)} class="tooltip-right" notification={$notifications.has(makeSpacePath(url))}> - + diff --git a/src/app/components/ProfileEject.svelte b/src/app/components/ProfileEject.svelte deleted file mode 100644 index 514b9671..00000000 --- a/src/app/components/ProfileEject.svelte +++ /dev/null @@ -1,92 +0,0 @@ - - -
- - {#snippet title()} -
Export your keys
- {/snippet} -
-

Here's what the process looks like:

-
    -
  • When you're ready, enter your account password below to continue.
  • -
  • - {PLATFORM_NAME} will send an email to "{email}" with your encrypted private key in it. -
  • -
  • - Store your "ncryptsec" in a password manager like - Bitwarden. This is the key to - your social identity; keep it safe and secret. -
  • -
  • - Choose a signer app and import - your private key into it. Don't forget your account password; you'll need it to decrypt your key. -
  • -
-

- Once you export your key, you'll be logged out and won't be able to log in using - your email and password any more. Going forward, you'll need to use your signer app instead. -

- {#if !success} -
- - {#snippet label()} -

To confirm, please enter your password below:

- {/snippet} - {#snippet input()} - - {/snippet} -
-
- {/if} - - - {#if success} - - {:else} - - {/if} - -
diff --git a/src/app/components/SignerStatus.svelte b/src/app/components/SignerStatus.svelte index cb9b22a8..c8690eed 100644 --- a/src/app/components/SignerStatus.svelte +++ b/src/app/components/SignerStatus.svelte @@ -15,7 +15,7 @@ const pending = $derived($signerLog.filter(x => !x.finished_at)) const failure = $derived(finished.filter(spec({ok: false}))) const success = $derived(finished.filter(spec({ok: true}))) - const recent = $derived($signerLog.slice(-10)) + const recent = $derived($signerLog.filter(x => x.started_at < Date.now() - 5000).slice(-10)) const recentFinished = $derived(recent.filter(x => x.finished_at)) const recentPending = $derived(recent.filter(x => !x.finished_at)) const recentAvg = $derived(avg(recentFinished.map(x => x.finished_at! - x.started_at))) diff --git a/src/lib/components/PrimaryNavItem.svelte b/src/lib/components/PrimaryNavItem.svelte index e13efd03..ce32ef58 100644 --- a/src/lib/components/PrimaryNavItem.svelte +++ b/src/lib/components/PrimaryNavItem.svelte @@ -16,9 +16,9 @@ {#if href} - +
@@ -29,9 +29,9 @@
{:else} -