From c10b526b3e99300bf3512e9f6217e6ab0d22f305 Mon Sep 17 00:00:00 2001 From: Josh Creek <8179928+jcreek@users.noreply.github.com> Date: Sat, 10 Jan 2026 20:23:13 +0000 Subject: [PATCH 1/2] feat(#54): Remove search icon and improve sign in page --- src/lib/components/SignIn.svelte | 142 ++++++++--- src/routes/+layout.svelte | 15 -- src/routes/forgot-password/+page.svelte | 253 +++++++++++++++++++ src/routes/reset-password/+page.svelte | 310 ++++++++++++++++++++++++ src/routes/signin/+page.svelte | 124 +++++++++- 5 files changed, 796 insertions(+), 48 deletions(-) create mode 100644 src/routes/forgot-password/+page.svelte create mode 100644 src/routes/reset-password/+page.svelte diff --git a/src/lib/components/SignIn.svelte b/src/lib/components/SignIn.svelte index 5bd0aed..2085f2e 100644 --- a/src/lib/components/SignIn.svelte +++ b/src/lib/components/SignIn.svelte @@ -8,11 +8,16 @@ let email = ''; let password = ''; + let isLoading = false; + let errorMessage = ''; // Access the supabase client from the layout data export let supabase: any; async function signInWithEmail() { + isLoading = true; + errorMessage = ''; + try { const { data, error } = await supabase.auth.signInWithPassword({ email: email, @@ -21,7 +26,7 @@ if (error) { console.error('Sign in error:', error); - alert(`Sign in failed: ${error.message}`); + errorMessage = error.message; return; } @@ -30,37 +35,112 @@ } } catch (err) { console.error('Sign in error:', err); - alert('Sign in failed'); + errorMessage = 'An unexpected error occurred. Please try again.'; + } finally { + isLoading = false; + } + } + + function handleKeyPress(event: KeyboardEvent) { + if (event.key === 'Enter') { + signInWithEmail(); } } - - - +
+ + {#if errorMessage} +
+ + + + {errorMessage} +
+ {/if} + + +
+ +
+ + + + + +
+
+ + +
+ +
+ + + + +
+
+ + +
+ +
+
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 5ecdc77..f7555a6 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -137,21 +137,6 @@ Living Dex Tracker