restores the legacy behavior

This commit is contained in:
Paul Schneider 2026-08-24 00:03:14 +01:00
commit 404bba56ab
Signed by: notazof
GPG key ID: 1DD5D838E5343B06
3 changed files with 13 additions and 17 deletions

View file

@ -65,7 +65,10 @@ public partial class App : Application
singleViewPlatform.MainView = CreateMainWindow();
ApplyDarkMode(settings);
}
var mainVm = ServiceProvider!.GetRequiredService<HomePageViewModel>();
base.OnFrameworkInitializationCompleted();
this.PushPageAsync(mainVm).Wait();
}
@ -86,9 +89,6 @@ public partial class App : Application
PushMainPageAsync().Wait();
};
var homeVm = ServiceProvider!.GetRequiredService<HomePageViewModel>();
this.PushPageAsync(homeVm).Wait();
Window.SessionBanner.DataContext = sessionStatus;
return Window;
}

View file

@ -74,4 +74,4 @@ public static class ServiceCollectionHelpers
return services.BuildServiceProvider();
}
}
}

View file

@ -16,12 +16,6 @@ namespace PostIt;
Url = "https://docs.avaloniaui.net/docs/concepts/view-locator")]
public class ViewLocator : IDataTemplate
{
private readonly IServiceProvider _services;
public ViewLocator(IServiceProvider services)
{
_services = services;
}
public Control Build(object? data)
{
@ -38,15 +32,17 @@ public class ViewLocator : IDataTemplate
private Control BuildCore(object? data)
{
var app = App.Current as App;
var services = app!.ServiceProvider!;
return data switch
{
MainViewModel => _services.GetRequiredService<MainPage>(),
Settings => _services.GetRequiredService<SettingsPage>(),
HomePageViewModel => _services.GetRequiredService<HomePage>(),
SignaturePageViewModel => _services.GetRequiredService<SignaturePage>(),
AddCircleMemberDialogViewModel => _services.GetRequiredService<AddCircleMemberDialog>(),
CirclesPageViewModel => _services.GetRequiredService<CirclesPage>(),
PostAclDialogViewModel => _services.GetRequiredService<PostAclDialog>(),
MainViewModel => services.GetRequiredService<MainPage>(),
Settings => services.GetRequiredService<SettingsPage>(),
HomePageViewModel => services.GetRequiredService<HomePage>(),
SignaturePageViewModel => services.GetRequiredService<SignaturePage>(),
AddCircleMemberDialogViewModel => services.GetRequiredService<AddCircleMemberDialog>(),
CirclesPageViewModel => services.GetRequiredService<CirclesPage>(),
PostAclDialogViewModel => services.GetRequiredService<PostAclDialog>(),
null => new TextBlock { Text = "No view for <null>" },
_ => new TextBlock { Text = $"No view for {data.GetType().Name}" }
};