using Avalonia.Controls;
using Avalonia.Interactivity;
using ChronoFlow.Controller;
namespace ChronoFlow.View
{
///
/// Das Fenster für den Benutzer-Login.
///
public partial class LoginWindow : Window
{
private LoginController _loginController;
public LoginWindow()
{
InitializeComponent(); // Verbindet XAML mit diesem Code
_loginController = new LoginController(); // Unsere "Logik-Klasse"
}
///
/// Wird ausgeführt, wenn der Benutzer auf "Anmelden" klickt.
///
private void LoginButton_Click(object? sender, RoutedEventArgs e)
{
// Holt Benutzername und Passwort aus den Eingabefeldern
string username = UsernameBox?.Text ?? string.Empty;
string password = PasswordBox?.Text ?? string.Empty;
// Übergibt die Eingaben an den LoginController
var user = _loginController.Authenticate(username, password);
if (user != null)
{
// Wenn erfolgreich: öffne das MainWindow
var main = new MainWindow(user);
main.Show();
this.Close(); // Schließe das Login-Fenster
}
else
{
// Wenn fehlgeschlagen: Fehlermeldung anzeigen
ErrorText.Text = "Login fehlgeschlagen. Bitte prüfen Sie Ihre Eingaben.";
ErrorText.IsVisible = true;
}
}
}
}