@page "/login"
@rendermode InteractiveServer
@attribute [AllowAnonymous]
@inject NavigationManager Nav
@inject ISnackbar Snackbar
Anmelden – Timetracker
@* ── Logo / Header ── *@
Timetracker
@* ── Login ── *@
@if (_error != null && _activeTab == 0)
{
@_error
}
@* ── Registrieren ── *@
@if (_error != null && _activeTab == 1)
{
@_error
}
@code {
private int _activeTab = 0;
private string? _error;
private string _loginUsername = "";
private string _loginPassword = "";
private string _regUsername = "";
private string _regPassword = "";
private bool _showLoginPw;
private bool _showRegPw;
[SupplyParameterFromQuery(Name = "error")]
public string? ErrorParam { get; set; }
[SupplyParameterFromQuery(Name = "tab")]
public string? TabParam { get; set; }
protected override void OnParametersSet()
{
_error = ErrorParam switch
{
"invalid" => "Benutzername oder Passwort falsch.",
not null => Uri.UnescapeDataString(ErrorParam),
_ => null
};
_activeTab = TabParam == "register" ? 1 : 0;
}
}