fixed error flash on successful registration before redirect
This commit is contained in:
@@ -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.'; } }"
|
||||
>
|
||||
<script>
|
||||
function registerFormData() {
|
||||
@@ -49,12 +49,12 @@ templ RegisterForm(username string) {
|
||||
type="text"
|
||||
id="username"
|
||||
name="username"
|
||||
x-bind:class="{
|
||||
'py-3 px-4 block w-full rounded-lg text-sm bg-base disabled:opacity-50 disabled:pointer-events-none border-2 outline-none': true,
|
||||
'border-overlay0 focus:border-blue': !isUnique && !errorMessage,
|
||||
'border-green focus:border-green': isUnique && !isChecking && !errorMessage,
|
||||
'border-red focus:border-red': errorMessage && !isChecking
|
||||
}"
|
||||
x-bind:class="{
|
||||
'py-3 px-4 block w-full rounded-lg text-sm bg-base disabled:opacity-50 disabled:pointer-events-none border-2 outline-none': true,
|
||||
'border-overlay0 focus:border-blue': !isUnique && !errorMessage,
|
||||
'border-green focus:border-green': isUnique && !isChecking && !errorMessage,
|
||||
'border-red focus:border-red': errorMessage && !isChecking && !isSubmitting
|
||||
}"
|
||||
required
|
||||
aria-describedby="username-error"
|
||||
value={ username }
|
||||
@@ -66,13 +66,13 @@ templ RegisterForm(username string) {
|
||||
@htmx:after-request="isChecking=false; if($event.detail.successful) { isUnique=true; canSubmit=true; } else if($event.detail.xhr.status === 409) { errorMessage='Username is already taken'; isUnique=false; canSubmit=false; }"
|
||||
/>
|
||||
|
||||
<p
|
||||
class="text-center text-xs text-red mt-2"
|
||||
id="username-error"
|
||||
x-show="errorMessage"
|
||||
x-cloak
|
||||
x-text="errorMessage"
|
||||
></p>
|
||||
<p
|
||||
class="text-center text-xs text-red mt-2"
|
||||
id="username-error"
|
||||
x-show="errorMessage && !isSubmitting"
|
||||
x-cloak
|
||||
x-text="errorMessage"
|
||||
></p>
|
||||
</div>
|
||||
</div>
|
||||
<button
|
||||
|
||||
Reference in New Issue
Block a user