finished admin login

This commit is contained in:
2024-11-19 18:20:27 +01:00
parent 61323f089d
commit 4801e790c0
7 changed files with 20 additions and 31 deletions

View File

@@ -17,7 +17,7 @@
@foreach (var adminPage in Pages.LoadRegisteredAdminPages()) {
<AuthorizedView Permission="@adminPage.Permissions.View">
<BSCol Column="4" style="margin-bottom: 10px">
<BSCard CardType="CardType.Card" Color="BSColor.Dark" style="min-height: 200px">
<BSCard CardType="CardType.Card" Color="BSColor.Dark" style="min-height: 200px; min-width: 200px">
<BSCard CardType="CardType.Body" style="display: flex; flex-direction: column">
<BSCard CardType="CardType.Title">@adminPage.Title</BSCard>
<BSCard CardType="CardType.Subtitle"><span style="color: gray">@adminPage.Permissions.View</span></BSCard>

View File

@@ -12,29 +12,10 @@
<PageTitle>Login</PageTitle>
<div class="login-wrapper">
@*<EditForm Model="UserLogin" OnValidSubmit="Login" FormName="login-form">
<div class="field-wrapper">
<h3>Login</h3>
<div class="mb-3">
<BSLabel>E-Mail address</BSLabel>
<InputText type="email" class="form-control" required @bind-Value="UserLogin.Email"/>
</div>
<div class="mb-3">
<BSLabel>Password</BSLabel>
<InputText type="password" class="form-control" required @bind-Value="UserLogin.Password"/>
</div>
<BSButton Color="BSColor.Primary" IsSubmit="true">Login</BSButton>
@if (_hasError) {
<BSAlert Color="BSColor.Danger" style="margin-top: 16px; margin-bottom: 0">Email or password does not match any account!</BSAlert>
}
</div>
</EditForm>*@
<div id="login-card">
<span id="login-title">HopFrame Administration</span>
<span id="login-subtitle">Login to proceed</span>
<EditForm Model="UserLogin" OnInvalidSubmit="Login" FormName="login-form" style="display: flex; flex-grow: 1; flex-direction: column">
<EditForm Model="UserLogin" OnValidSubmit="Login" FormName="login-form" style="display: flex; flex-grow: 1; flex-direction: column">
<div class="mb-3">
<BSLabel>E-Mail address</BSLabel>
<InputText type="email" class="form-control" required @bind-Value="UserLogin.Email"/>
@@ -76,7 +57,7 @@
}
}
private async Task Login() { //TODO: Login does not work
private async Task Login() {
var result = await Auth.Login(UserLogin);
if (!result) {
@@ -84,6 +65,6 @@
return;
}
Navigator.NavigateTo(string.IsNullOrEmpty(RedirectAfter) ? DefaultRedirect : RedirectAfter, true);
Navigator.NavigateTo(string.IsNullOrEmpty(RedirectAfter) ? DefaultRedirect : "/administration/" + RedirectAfter, true);
}
}

View File

@@ -29,6 +29,6 @@
#login-subtitle {
font-size: 24px;
opacity: .3;
color: gray;
margin-bottom: 30px;
}

View File

@@ -18,7 +18,7 @@
@using HopFrame.Web.Components
<PageTitle>@_pageData.Title</PageTitle>
<AuthorizedView Permission="@_pageData.Permissions.View" RedirectIfUnauthorized="administration/login" />
<AuthorizedView Permission="@_pageData.Permissions.View" RedirectIfUnauthorized="@GenerateRedirectString()" />
<AdminPageModal ReloadDelegate="Reload" @ref="_modal"/>
@@ -243,4 +243,8 @@
});
}
}
private string GenerateRedirectString() {
return "/administration/login?redirect=" + _pageData?.Url;
}
}

View File

@@ -1,9 +1,6 @@
@using HopFrame.Web.Components
@using BlazorStrap.V5
@using BlazorStrap.V5
@inherits LayoutComponentBase
<AuthorizedView Permission="@Security.AdminPermissions.IsAdmin" RedirectIfUnauthorized="administration/login" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<div class="page" style="background-color: #2c3034; position: relative; min-height: 100vh">

View File

@@ -66,6 +66,13 @@
}
private void Logout() {
Navigator.NavigateTo("administration/login", true);
var redirectString = "";
if (!Navigator.Uri.EndsWith("administration") && !Navigator.Uri.EndsWith("administration/")) {
var parts = Navigator.Uri.Split("administration/");
redirectString = "?redirect=" + parts.Last();
}
Navigator.NavigateTo("administration/login" + redirectString, true);
}
}