29 lines
929 B
C#
29 lines
929 B
C#
|
|
using Avalonia.Controls.ApplicationLifetimes;
|
||
|
|
using Avalonia.Markup.Xaml;
|
||
|
|
using Microsoft.Extensions.DependencyInjection;
|
||
|
|
|
||
|
|
namespace CatalogLite;
|
||
|
|
|
||
|
|
public partial class App : Avalonia.Application
|
||
|
|
{
|
||
|
|
public override void Initialize() => AvaloniaXamlLoader.Load(this);
|
||
|
|
|
||
|
|
public override void OnFrameworkInitializationCompleted()
|
||
|
|
{
|
||
|
|
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||
|
|
{
|
||
|
|
if (ExpirationGuard.IsExpired(out var expirationDate))
|
||
|
|
{
|
||
|
|
var expiredWindow = new ExpiredWindow(expirationDate);
|
||
|
|
expiredWindow.Closed += (_, _) => desktop.Shutdown();
|
||
|
|
desktop.MainWindow = expiredWindow;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
desktop.MainWindow = Program.ServiceProvider.GetRequiredService<MainWindow>();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
base.OnFrameworkInitializationCompleted();
|
||
|
|
}
|
||
|
|
}
|