Ver Fonte

disable login after submit

Daniel Bohry há 9 meses atrás
pai
commit
64a13c2b2b
1 ficheiros alterados com 13 adições e 2 exclusões
  1. 13 2
      src/routes/login/+page.svelte

+ 13 - 2
src/routes/login/+page.svelte

@@ -7,6 +7,7 @@
 	let isAuthenticated = false;
 	let isLoading = true;
 	let showPassword = false;
+	let isDisabled = false;
 
 	$: authentication.subscribe((value) => {
 		isAuthenticated = !!value;
@@ -28,6 +29,8 @@
 	async function submit(event) {
 		event.preventDefault();
 
+		isDisabled = true;
+
 		const formData = new FormData(event.target);
 		const username = formData.get('username');
 		const password = formData.get('password');
@@ -64,6 +67,8 @@
 		} catch (err) {
 			console.error('Error during login:', err);
 			alert('An error occurred. Please try again.');
+		} finally {
+			isDisabled = false;
 		}
 	}
 
@@ -105,8 +110,8 @@
 					</span>
 				</div>
 
-				<button type="submit" class="add-button">Login</button>
-				<button type="button" class="register-button" on:click={navigateToRegister}>Register</button>
+				<button type="submit" class="add-button" disabled={isDisabled}>Login</button>
+				<button type="button" class="register-button" on:click={navigateToRegister} disabled={isDisabled}>Register</button>
 			</form>
 		</div>
 	{/if}
@@ -159,4 +164,10 @@
         background-color: #2196f3;
         color: white;
     }
+
+    button:disabled {
+        pointer-events: none;
+        opacity: 0.6;
+        cursor: not-allowed;
+    }
 </style>