Login/Register clean up
This commit is contained in:
parent
e0b3e3783e
commit
d034a2218d
@ -19,9 +19,10 @@
|
|||||||
{
|
{
|
||||||
<MudSkeleton Width="35%" Height="32px" />
|
<MudSkeleton Width="35%" Height="32px" />
|
||||||
}
|
}
|
||||||
|
|
||||||
@if (user?.IsAdmin == true)
|
@if (user?.IsAdmin == true)
|
||||||
{
|
{
|
||||||
<MudChip Color="Color.Secondary" Size="Size.Small">@Localizer["Admin"]</MudChip>
|
<MudChip Variant="Variant.Outlined" Color="Color.Info" Size="Size.Small" Icon="@Icons.Material.TwoTone.AdminPanelSettings">@Localizer["Admin"]</MudChip>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
<MudText Typo="Typo.caption">User ID: @user?.Baid</MudText>
|
<MudText Typo="Typo.caption">User ID: @user?.Baid</MudText>
|
||||||
|
@ -5,41 +5,36 @@
|
|||||||
|
|
||||||
@page "/Login"
|
@page "/Login"
|
||||||
|
|
||||||
<MudGrid Class="my-8">
|
|
||||||
@if (!LoginService.IsLoggedIn) // Not logged in, show login form
|
@if (!LoginService.IsLoggedIn) // Not logged in, show login form
|
||||||
{
|
{
|
||||||
<MudContainer>
|
<MudContainer>
|
||||||
<MudGrid Justify="Justify.Center">
|
<MudGrid Justify="Justify.Center">
|
||||||
<MudItem xs="12" md="6" lg="4" class="mt-8">
|
<MudItem xs="12" md="6" lg="4">
|
||||||
<MudCard Elevation="0" Outlined="true">
|
<MudCard Elevation="0" Outlined="true">
|
||||||
<MudCardContent>
|
<MudCardHeader>
|
||||||
<MudForm @ref="loginForm">
|
<MudText Typo="Typo.h5">@Localizer["Log In"]</MudText>
|
||||||
<MudText Typo="Typo.h5" Class="mb-4">Login</MudText>
|
</MudCardHeader>
|
||||||
<div style="display:flex;flex-direction:column;gap:15px;">
|
<MudCardContent>
|
||||||
<MudTextField @bind-value="inputAccessCode" InputType="InputType.Text" T="string"
|
<MudForm @ref="loginForm">
|
||||||
FullWidth="true" Required="@true" RequiredError="Access code is required"
|
<div style="display:flex;flex-direction:column;gap:15px;">
|
||||||
Label="Access code" Variant="Variant.Outlined" Margin="Margin.Dense" />
|
<MudTextField @bind-value="inputAccessCode" InputType="InputType.Text" T="string"
|
||||||
<MudTextField @bind-Value="inputPassword" InputType="InputType.Password"
|
FullWidth="true" Required="@true" RequiredError="Access code is required"
|
||||||
T="string" FullWidth="true" Required="@true"
|
Label="Access code" Variant="Variant.Outlined" Margin="Margin.Dense" />
|
||||||
RequiredError="Password is required"
|
<MudTextField @bind-Value="inputPassword" InputType="InputType.Password"
|
||||||
Label="Password" Variant="Variant.Outlined" Margin="Margin.Dense" />
|
T="string" FullWidth="true" Required="@true"
|
||||||
<MudStack Row="true" Class="mt-2">
|
RequiredError="Password is required"
|
||||||
<MudButton OnClick="OnLogin" FullWidth="true" StartIcon="@Icons.Material.Filled.Login" Color="Color.Primary" Variant="Variant.Filled">Login</MudButton>
|
Label="Password" Variant="Variant.Outlined" Margin="Margin.Dense" />
|
||||||
@if (!LoginService.OnlyAdmin)
|
<MudButton OnClick="OnLogin" FullWidth="true" StartIcon="@Icons.Material.Filled.Login" Color="Color.Primary" Variant="Variant.Filled">@Localizer["Log In"]</MudButton>
|
||||||
{
|
</div>
|
||||||
<MudButton Href="@("/Register")" FullWidth="true" StartIcon="@Icons.Material.Filled.AddCard" Color="Color.Primary" Variant="Variant.Filled">Register</MudButton>
|
</MudForm>
|
||||||
}
|
</MudCardContent>
|
||||||
</MudStack>
|
</MudCard>
|
||||||
</div>
|
</MudItem>
|
||||||
</MudForm>
|
</MudGrid>
|
||||||
</MudCardContent>
|
</MudContainer>
|
||||||
</MudCard>
|
} else
|
||||||
</MudItem>
|
{
|
||||||
</MudGrid>
|
// Already logged in
|
||||||
</MudContainer>
|
NavigationManager.NavigateTo("/");
|
||||||
} else
|
}
|
||||||
{
|
|
||||||
// Already logged in
|
|
||||||
NavigationManager.NavigateTo("/");
|
|
||||||
}
|
|
||||||
</MudGrid>
|
|
@ -7,17 +7,25 @@
|
|||||||
|
|
||||||
@if (LoginService.OnlyAdmin || !LoginService.LoginRequired)
|
@if (LoginService.OnlyAdmin || !LoginService.LoginRequired)
|
||||||
{
|
{
|
||||||
<MudText Typo="Typo.body1">Registration is currently closed.</MudText>
|
Console.WriteLine("Registration is disabled. Redirecting to Dashboard...");
|
||||||
|
NavigationManager.NavigateTo("/");
|
||||||
|
}
|
||||||
|
else if (LoginService.IsLoggedIn)
|
||||||
|
{
|
||||||
|
// User is already logged in. Redirect to dashboard.
|
||||||
|
NavigationManager.NavigateTo("/");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<MudContainer>
|
<MudContainer>
|
||||||
<MudGrid Justify="Justify.Center">
|
<MudGrid Justify="Justify.Center">
|
||||||
<MudItem xs="12" md="6" lg="4" class="mt-8">
|
<MudItem xs="12" md="6" lg="4">
|
||||||
<MudCard Elevation="0" Outlined="true">
|
<MudCard Elevation="0" Outlined="true">
|
||||||
|
<MudCardHeader>
|
||||||
|
<MudText Typo="Typo.h5">Register</MudText>
|
||||||
|
</MudCardHeader>
|
||||||
<MudCardContent>
|
<MudCardContent>
|
||||||
<MudForm @ref="registerForm">
|
<MudForm @ref="registerForm">
|
||||||
<MudText Typo="Typo.h5" Class="mb-4">Register</MudText>
|
|
||||||
<div style="display:flex;flex-direction:column;gap:15px;">
|
<div style="display:flex;flex-direction:column;gap:15px;">
|
||||||
<MudTextField @bind-value="accessCode" InputType="InputType.Text" T="string"
|
<MudTextField @bind-value="accessCode" InputType="InputType.Text" T="string"
|
||||||
FullWidth="true" Required="@true" RequiredError="Access Code is required"
|
FullWidth="true" Required="@true" RequiredError="Access Code is required"
|
||||||
|
@ -40,6 +40,9 @@ public class LoginService
|
|||||||
|
|
||||||
public int Login(string inputCardNum, string inputPassword, DashboardResponse response)
|
public int Login(string inputCardNum, string inputPassword, DashboardResponse response)
|
||||||
{
|
{
|
||||||
|
// strip spaces or dashes from card number
|
||||||
|
inputCardNum = inputCardNum.Replace(" ", "").Replace("-", "");
|
||||||
|
|
||||||
foreach (var user in response.Users.Where(user => user.AccessCodes.Contains(inputCardNum)))
|
foreach (var user in response.Users.Where(user => user.AccessCodes.Contains(inputCardNum)))
|
||||||
{
|
{
|
||||||
foreach (var userCredential in response.UserCredentials.Where(userCredential => userCredential.Baid == user.Baid))
|
foreach (var userCredential in response.UserCredentials.Where(userCredential => userCredential.Baid == user.Baid))
|
||||||
@ -64,6 +67,9 @@ public class LoginService
|
|||||||
{
|
{
|
||||||
if (OnlyAdmin) return 0;
|
if (OnlyAdmin) return 0;
|
||||||
|
|
||||||
|
// strip spaces or dashes from card number
|
||||||
|
inputCardNum = inputCardNum.Replace(" ", "").Replace("-", "");
|
||||||
|
|
||||||
foreach (var user in response.Users.Where(user => user.AccessCodes.Contains(inputCardNum)))
|
foreach (var user in response.Users.Where(user => user.AccessCodes.Contains(inputCardNum)))
|
||||||
{
|
{
|
||||||
foreach (var userCredential in response.UserCredentials.Where(userCredential => userCredential.Baid == user.Baid))
|
foreach (var userCredential in response.UserCredentials.Where(userCredential => userCredential.Baid == user.Baid))
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
if (LoginService.LoginRequired && !LoginService.OnlyAdmin && !LoginService.IsLoggedIn) {
|
if (LoginService.LoginRequired && !LoginService.OnlyAdmin && !LoginService.IsLoggedIn) {
|
||||||
<MudDivider />
|
<MudDivider />
|
||||||
<MudNavLink Href="/Login" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Login">@Localizer["Login"]</MudNavLink>
|
<MudNavLink Href="/Login" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Login">@Localizer["Log In"]</MudNavLink>
|
||||||
<MudNavLink Href="/Register" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.AddCard">@Localizer["Register"]</MudNavLink>
|
<MudNavLink Href="/Register" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.AddCard">@Localizer["Register"]</MudNavLink>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user