using Hyperbar.Controls.Windows; using Hyperbar.UI.Windows; using Hyperbar.Widget; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.UI.Dispatching; using Microsoft.UI.Xaml; using System.Reflection; using Hyperbar.Widget.Windows; namespace Hyperbar.Windows; public partial class App : Application { public App() => InitializeComponent(); protected override async void OnLaunched(LaunchActivatedEventArgs args) { base.OnLaunched(args); IHost? host = new HostBuilder() .UseContentRoot(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), Assembly.GetEntryAssembly()?.GetName().Name!), true) .ConfigureAppConfiguration(config => { config.AddJsonFile("Settings.json", true, true); }) .ConfigureServices((context, services) => { services.AddDefault(); services.AddWidget(); services.AddWidgetWindows(); services.AddXamlMetadataProvider(); services.AddHostedService(); services.AddSingleton((IDispatcher)new Dispatcher(DispatcherQueue.GetForCurrentThread())); services.AddNavigationHandler(); services.AddNavigationHandler(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddHandler(); services.AddConfiguration((AppConfiguration args) => { args.Placement = DesktopApplicationBarPlacemenet.Top; }); services.AddSingleton(); services.AddContentTemplate(); services.AddContentTemplate(); services.AddContentTemplate(); services.AddContentTemplate(); services.AddContentTemplate("Settings"); services.AddContentTemplate(); services.AddContentTemplate(); services.AddHandler(); services.AddTransient(); }) .Build(); await host.RunAsync(); } }