|
|
@@ -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>
|