@page "/login"
@inject SessionManager session
@inject NavigationManager navigation
@code {
private LoginModel loginModel = new();
private string toast = string.Empty;
[Inject]
private ILogger logger { get; set; }
private async Task HandleSubmit()
{
switch (await session.Authenticate(loginModel.Username, loginModel.Password))
{
case SelectorNetClient.TokenResponseStatus.Malformed:
toast = "Bad Request, Username or Password missing";
break;
case SelectorNetClient.TokenResponseStatus.UserSearchFailed:
toast = "User not found";
break;
case SelectorNetClient.TokenResponseStatus.BadCreds:
toast = "Login failed, try again";
break;
case SelectorNetClient.TokenResponseStatus.OK:
logger.LogInformation("Login succeeded, redirecting");
navigation.NavigateTo("/app");
break;
}
}
}