Refactor: Remove GlobalVar and replace with IAppSettings; restructure affected infrastructure, services, and view models for dependency injection.
This commit is contained in:
@@ -10,7 +10,6 @@ namespace Jugenddienst_Stunden.ViewModels;
|
||||
/// </summary>
|
||||
public partial class LoginViewModel : ObservableObject {
|
||||
private readonly IAuthService _auth;
|
||||
private readonly IAppSettings _settings;
|
||||
private readonly IAlertService? _alerts;
|
||||
private DateTime _lastDetectionTime = DateTime.MinValue;
|
||||
private readonly TimeSpan _detectionInterval = TimeSpan.FromSeconds(5);
|
||||
@@ -59,9 +58,8 @@ public partial class LoginViewModel : ObservableObject {
|
||||
// Explizite Command-Property für den QR-Scanner-Event, damit das Binding in XAML zuverlässig greift
|
||||
public IAsyncRelayCommand<object?> QrDetectedCommand { get; }
|
||||
|
||||
public LoginViewModel(IAuthService auth, IAppSettings settings) {
|
||||
public LoginViewModel(IAuthService auth) {
|
||||
_auth = auth;
|
||||
_settings = settings;
|
||||
|
||||
// gespeicherte Präferenz für Logintyp laden
|
||||
var lt = Preferences.Default.Get("logintype", "qr");
|
||||
@@ -81,7 +79,7 @@ public partial class LoginViewModel : ObservableObject {
|
||||
}
|
||||
|
||||
// DI-Konstruktor: AlertService anbinden und Alerts an VM-Event weiterreichen (analog StundeViewModel)
|
||||
internal LoginViewModel(IAuthService auth, IAppSettings settings, IAlertService alertService) : this(auth, settings) {
|
||||
internal LoginViewModel(IAuthService auth, IAlertService alertService) : this(auth) {
|
||||
_alerts = alertService;
|
||||
if (alertService is not null) {
|
||||
alertService.AlertRaised += (s, msg) => AlertEvent?.Invoke(this, msg);
|
||||
@@ -102,7 +100,7 @@ public partial class LoginViewModel : ObservableObject {
|
||||
var user = await _auth.LoginWithCredentials(Username?.Trim() ?? string.Empty,
|
||||
Password ?? string.Empty,
|
||||
(Server ?? string.Empty).Trim());
|
||||
|
||||
|
||||
Title = $"{user.Name} {user.Surname}";
|
||||
// Info zeigen und auf Bestätigung warten
|
||||
var args = new ConfirmationEventArgs("Information:", "Login erfolgreich");
|
||||
|
||||
Reference in New Issue
Block a user