From 4e5b08b62f5afb0f3544cc74cb42a2ddbd263403 Mon Sep 17 00:00:00 2001 From: Haelnorr Date: Sat, 24 Jan 2026 15:36:41 +1100 Subject: [PATCH] fixed error flash on successful registration before redirect --- go.sum | 2 -- internal/handlers/register.go | 2 ++ internal/view/component/form/register.templ | 28 ++++++++++----------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/go.sum b/go.sum index 58d5675..afdf0fa 100644 --- a/go.sum +++ b/go.sum @@ -8,8 +8,6 @@ git.haelnorr.com/h/golib/hlog v0.10.4 h1:vpCsV/OddjIYx8F48U66WxojjmhEbeLGQAOBG4V git.haelnorr.com/h/golib/hlog v0.10.4/go.mod h1:+wJ8vecQY/JITTXKmI3JfkHiUGyMs7N6wooj2wuWZbc= git.haelnorr.com/h/golib/hws v0.3.1 h1:uFXAT8SuKs4VACBdrkmZ+dJjeBlSPgCKUPt8zGCcwrI= git.haelnorr.com/h/golib/hws v0.3.1/go.mod h1:6ZlRKnt8YMpv5XcMXmyBGmD1/euvBo3d1azEvHJjOLo= -git.haelnorr.com/h/golib/hwsauth v0.5.1 h1:U7rLPWLjPvggcY0Ez8VVIgcueLLHLLUV69OjYv/QepQ= -git.haelnorr.com/h/golib/hwsauth v0.5.1/go.mod h1:NOonrVU/lX8lzuV77eDEiTwBjn7RrzYVcSdXUJWeHmQ= git.haelnorr.com/h/golib/hwsauth v0.5.2 h1:K4McXMEHtI5o4fAL3AZrmaMkwORNqSTV3MM6BExNKag= git.haelnorr.com/h/golib/hwsauth v0.5.2/go.mod h1:NOonrVU/lX8lzuV77eDEiTwBjn7RrzYVcSdXUJWeHmQ= git.haelnorr.com/h/golib/jwt v0.10.1 h1:1Adxt9H3Y4fWFvFjWpvg/vSFhbgCMDMxgiE3m7KvDMI= diff --git a/internal/handlers/register.go b/internal/handlers/register.go index c8aa694..25ded6d 100644 --- a/internal/handlers/register.go +++ b/internal/handlers/register.go @@ -84,6 +84,7 @@ func Register( user, err := registerUser(ctx, tx, username, details) if err != nil { throwInternalServiceError(server, w, r, "Registration failed", err) + return } tx.Commit() if user == nil { @@ -92,6 +93,7 @@ func Register( err = auth.Login(w, r, user, true) if err != nil { throwInternalServiceError(server, w, r, "Login failed", err) + return } pageFrom := cookies.CheckPageFrom(w, r) w.Header().Set("HX-Redirect", pageFrom) diff --git a/internal/view/component/form/register.templ b/internal/view/component/form/register.templ index 8f81b63..00af173 100644 --- a/internal/view/component/form/register.templ +++ b/internal/view/component/form/register.templ @@ -6,7 +6,7 @@ templ RegisterForm(username string) { hx-swap="none" x-data={ templ.JSFuncCall("registerFormData").CallInline } @submit="handleSubmit()" - @htmx:after-request="if(submitTimeout) clearTimeout(submitTimeout); if(!$event.detail.successful) { isSubmitting=false; buttontext='Register'; if($event.detail.xhr.status === 409) { errorMessage='Username is already taken'; isUnique=false; } else { errorMessage='An error occurred. Please try again.'; } }" + @htmx:after-request="if(submitTimeout) clearTimeout(submitTimeout); const redirect = $event.detail.xhr.getResponseHeader('HX-Redirect'); if(redirect) return; if(!$event.detail.successful) { isSubmitting=false; buttontext='Register'; if($event.detail.xhr.status === 409) { errorMessage='Username is already taken'; isUnique=false; } else { errorMessage='An error occurred. Please try again.'; } }" >