@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";
}
}
}