@page "/login" @layout DbFirst.BlazorWebApp.Components.Layout.LoginLayout @rendermode InteractiveServer @inject IAuthApiClient AuthApiClient @inject AuthService AuthService @inject NavigationManager Navigation @inject IJSRuntime JS Anmelden – DbFirst
@if (!string.IsNullOrEmpty(_errorMessage)) { }
@code { private string _username = string.Empty; private string _password = string.Empty; private string _errorMessage = string.Empty; private bool _isLoading; protected override void OnInitialized() { if (AuthService.IsAuthenticated) Navigation.NavigateTo("/"); } private async Task HandleLoginAsync() { if (_isLoading) return; _errorMessage = string.Empty; if (string.IsNullOrWhiteSpace(_username) || string.IsNullOrWhiteSpace(_password)) { _errorMessage = "Bitte Benutzername und Passwort eingeben."; return; } _isLoading = true; try { var success = await AuthApiClient.LoginAsync(_username, _password); if (success) { await JS.InvokeVoidAsync("authStorage.set", AuthService.UserName, AuthService.RawCookieHeader); Navigation.NavigateTo("/"); } else { _errorMessage = "Anmeldung fehlgeschlagen. Bitte Benutzerdaten prüfen."; } } catch { _errorMessage = "Verbindungsfehler. Bitte später erneut versuchen."; } finally { _isLoading = false; } } }