Refactor LoginPage to MVVM
This commit is contained in:
@@ -8,6 +8,7 @@ using Jugenddienst_Stunden.Validators;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using ZXing.Net.Maui.Controls;
|
||||
using System.Net.Http;
|
||||
using Jugenddienst_Stunden.ViewModels;
|
||||
|
||||
namespace Jugenddienst_Stunden;
|
||||
|
||||
@@ -56,7 +57,16 @@ public static class MauiProgram {
|
||||
builder.Services.AddSingleton<ITokenProvider, SettingsTokenProvider>();
|
||||
|
||||
// HttpClient + ApiClient
|
||||
builder.Services.AddSingleton<HttpClient>(_ => new HttpClient());
|
||||
// Configure HttpClient with RequestLoggingHandler and disable automatic redirects for diagnosis
|
||||
builder.Services.AddTransient<RequestLoggingHandler>();
|
||||
builder.Services.AddSingleton<HttpClient>(sp => {
|
||||
var nativeHandler = new HttpClientHandler { AllowAutoRedirect = false };
|
||||
var logging = sp.GetRequiredService<RequestLoggingHandler>();
|
||||
logging.InnerHandler = nativeHandler;
|
||||
// HttpClient.Timeout will be adjusted by ApiClient if needed
|
||||
return new HttpClient(logging, disposeHandler: true);
|
||||
});
|
||||
|
||||
builder.Services.AddSingleton<IApiClient>(sp => {
|
||||
var alert = sp.GetRequiredService<IAlertService>();
|
||||
try {
|
||||
@@ -85,13 +95,16 @@ public static class MauiProgram {
|
||||
// DI: Validatoren
|
||||
builder.Services.AddSingleton<IHoursValidator, HoursValidator>();
|
||||
|
||||
// DI: Services & Repositories
|
||||
builder.Services.AddSingleton<IHoursRepository, HoursRepository>();
|
||||
builder.Services.AddSingleton<IHoursService, HoursService>();
|
||||
// DI: Services & Repositories
|
||||
builder.Services.AddSingleton<IHoursRepository, HoursRepository>();
|
||||
builder.Services.AddSingleton<IHoursService, HoursService>();
|
||||
builder.Services.AddSingleton<IAuthService, AuthService>();
|
||||
|
||||
// DI: Views/ViewModels
|
||||
builder.Services.AddTransient<ViewModels.StundenViewModel>();
|
||||
builder.Services.AddTransient<Views.StundenPage>();
|
||||
// DI: Views/ViewModels
|
||||
builder.Services.AddTransient<ViewModels.StundenViewModel>();
|
||||
builder.Services.AddTransient<Views.StundenPage>();
|
||||
builder.Services.AddTransient<ViewModels.LoginViewModel>();
|
||||
builder.Services.AddTransient<Views.LoginPage>();
|
||||
|
||||
return builder.Build();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user