From ae523c1ca6b2906c254dc9baec01201ca46251a7 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Fri, 6 Mar 2026 11:48:23 -0800 Subject: [PATCH] Refactor pomade, add password reset flow --- src/app/components/LogInEmail.svelte | 7 +- src/app/components/LogInOTPConfirm.svelte | 13 +- src/app/components/LogInSelect.svelte | 17 +-- src/app/components/PasswordReset.svelte | 121 ++++++++++++++++++ .../components/PasswordResetConfirm.svelte | 118 +++++++++++++++++ src/app/components/PomadeSessions.svelte | 6 +- src/app/components/SignUp.svelte | 19 +-- src/app/core/commands.ts | 58 --------- src/app/util/logout.ts | 15 +-- src/app/util/pomade.ts | 78 +++++++++++ src/routes/settings/profile/+page.svelte | 54 +++++--- 11 files changed, 385 insertions(+), 121 deletions(-) create mode 100644 src/app/components/PasswordReset.svelte create mode 100644 src/app/components/PasswordResetConfirm.svelte create mode 100644 src/app/util/pomade.ts diff --git a/src/app/components/LogInEmail.svelte b/src/app/components/LogInEmail.svelte index 0c647a9f..a55e261b 100644 --- a/src/app/components/LogInEmail.svelte +++ b/src/app/components/LogInEmail.svelte @@ -1,7 +1,6 @@ + + + + + Update your Password + Confirm your Email + +

Let's start by confirming your email.

+

+ For security reasons, you may receive three or more emails with confirmation codes in them. + Please paste all confirmation codes into the text box below, on separate lines. +

+ +
+ + + + +
diff --git a/src/app/components/PasswordResetConfirm.svelte b/src/app/components/PasswordResetConfirm.svelte new file mode 100644 index 00000000..076144d1 --- /dev/null +++ b/src/app/components/PasswordResetConfirm.svelte @@ -0,0 +1,118 @@ + + + + + + Update your Password + Please provide your new password. + + + {#snippet label()} +

New Password*

+ {/snippet} + {#snippet input()} + + {/snippet} +
+
+ + + + +
diff --git a/src/app/components/PomadeSessions.svelte b/src/app/components/PomadeSessions.svelte index e710c2a2..50edee52 100644 --- a/src/app/components/PomadeSessions.svelte +++ b/src/app/components/PomadeSessions.svelte @@ -9,8 +9,8 @@ import Popover from "@lib/components/Popover.svelte" import TrashBin2 from "@assets/icons/trash-bin-2.svg?dataurl" import {pushToast} from "@app/util/toast" - import {loadOtherPomadeSessions} from "@app/core/commands" - import type {PomadeSessionWithPeers} from "@app/core/commands" + import {loadOtherPomadeSessions} from "@app/util/pomade" + import type {PomadeSessionWithPeers} from "@app/util/pomade" const toggleMenu = (client: string) => { menuClient = menuClient === client ? "" : client @@ -63,7 +63,7 @@ onMount(() => { loadOtherPomadeSessions().then(_sessions => { - sessions = _sessions + sessions = _sessions || [] }) }) diff --git a/src/app/components/SignUp.svelte b/src/app/components/SignUp.svelte index df8accc4..f6a395b4 100644 --- a/src/app/components/SignUp.svelte +++ b/src/app/components/SignUp.svelte @@ -1,15 +1,8 @@
@@ -69,10 +92,11 @@ {/key}
- {#if $session?.email} -
+
+ {#if $session?.method === SessionMethod.Pomade} {#snippet label()} +

Email Address

{/snippet} {#snippet input()} @@ -81,16 +105,8 @@ {/snippet} - {#snippet info()} -

- Your email and password can only be used to log into {PLATFORM_NAME}. - -

- {/snippet}
-
- {/if} -
+ {/if} {#snippet label()}

@@ -139,6 +155,14 @@ {/if} + {#if $session?.method === SessionMethod.Pomade} +

+ + +
+ {/if}