PCRB follow up client side logic
This commit is contained in:
		| @ -1,6 +1,4 @@ | ||||
| @page "/login" | ||||
| @page "/login/{redirectUrl}" | ||||
| @page "/login/{redirectUrl}/{redirectUrlSub}" | ||||
| @attribute [AllowAnonymous] | ||||
| @inject MesaFabApprovalAuthStateProvider authStateProvider | ||||
| @inject NavigationManager navManager | ||||
| @ -46,68 +44,5 @@ | ||||
|             } | ||||
|         </MudButton> | ||||
|         <MudDivider /> | ||||
|         @* <MudButton | ||||
|             Variant="Variant.Filled" | ||||
|             Color="Color.Tertiary" | ||||
|             Class="m-1" | ||||
|             OnClick="LoginLocal" > | ||||
|         @if (processingLocal) { | ||||
|             <MudProgressCircular Class="m-1" Size="Size.Small" Indeterminate="true" /> | ||||
|             <MudText>Processing</MudText> | ||||
|         } else { | ||||
|             <MudText>Log In (SSO)</MudText> | ||||
|         } | ||||
|         </MudButton> *@ | ||||
|     </MudForm> | ||||
| </MudPaper> | ||||
|  | ||||
| @code { | ||||
|     [Parameter] | ||||
|     public string? redirectUrl { get; set; } | ||||
|     [Parameter] | ||||
|     public string? redirectUrlSub { get; set; } | ||||
|     private bool success; | ||||
|     private bool processing = false; | ||||
|     private bool processingLocal = false; | ||||
|     private string[] errors = { }; | ||||
|     private string? username; | ||||
|     private string? password; | ||||
|  | ||||
|     private async Task SubmitLogin() { | ||||
|         processing = true; | ||||
|         if (string.IsNullOrWhiteSpace(username)) snackbar.Add("Username is required!", Severity.Error); | ||||
|         else if (string.IsNullOrWhiteSpace(password)) snackbar.Add("Password is required!", Severity.Error); | ||||
|         else { | ||||
|             await authStateProvider.LoginAsync(username, password); | ||||
|             if (!string.IsNullOrWhiteSpace(redirectUrl) && !string.IsNullOrWhiteSpace(redirectUrlSub)) { | ||||
|                 navManager.NavigateTo($"{redirectUrl}/{redirectUrlSub}"); | ||||
|             } else if (!string.IsNullOrWhiteSpace(redirectUrl)) { | ||||
|                 navManager.NavigateTo(redirectUrl); | ||||
|             } else { | ||||
|                 navManager.NavigateTo("dashboard"); | ||||
|             } | ||||
|         } | ||||
|         processing = false; | ||||
|     } | ||||
|  | ||||
|     private async Task SubmitIfEnter(KeyboardEventArgs e) { | ||||
|         if (e.Key == "Enter" && success) { | ||||
|             SubmitLogin(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private async Task LoginLocal() { | ||||
|         processingLocal = true; | ||||
|  | ||||
|         await authStateProvider.LoginLocal(); | ||||
|         if (!string.IsNullOrWhiteSpace(redirectUrl) && !string.IsNullOrWhiteSpace(redirectUrlSub)) { | ||||
|             navManager.NavigateTo($"{redirectUrl}/{redirectUrlSub}"); | ||||
|         } else if (!string.IsNullOrWhiteSpace(redirectUrl)) { | ||||
|             navManager.NavigateTo(redirectUrl); | ||||
|         } else { | ||||
|             navManager.NavigateTo("dashboard"); | ||||
|         } | ||||
|  | ||||
|         processingLocal = false; | ||||
|     } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user