@page "/userlogin" @using KWWebInvApp.Data; @using KWWebInvApp.Services; @using Microsoft.AspNetCore.WebUtilities; @inject IAuthenticationService AuthenticationStateService @inject AuthenticationStateProvider AuthenticationStateProvider @inject NavigationManager NavigationManager User Login Enter your credential for verification Login Welcome to Merchandise and SAC System @if (error != null) { @error } @submitButtonText Reset @code { bool submitButtonDisabled = false; string? error, submitButtonText = "Login"; LoginData loginData = new(); protected override async Task OnInitializedAsync() { } async Task SubmitLogin() { error = null; waitingButton(true); var webAuthenticationStateProvider = (WebAuthenticationStateProvider)AuthenticationStateProvider; var loginSuccess = await webAuthenticationStateProvider.LoginAsync(loginData); if (loginSuccess) { var uri = NavigationManager.ToAbsoluteUri(NavigationManager.Uri); if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("returnUrl", out var returnURL)) NavigationManager.NavigateTo($"/{returnURL}"); else NavigationManager.NavigateTo("/"); } else error = "Invalid username or password. Please try again."; waitingButton(false); } void waitingButton(bool waiting = false) { if(waiting) { submitButtonDisabled = true; submitButtonText = "Please Wait..."; } else { submitButtonDisabled = false; submitButtonText = "Login"; } } }