using InkForge.Desktop.Controllers; using InkForge.Desktop.Data; using InkForge.Desktop.Services; using InkForge.Desktop.ViewModels; using InkForge.Data; using Microsoft.EntityFrameworkCore; using ReactiveUI; using Splat; namespace Microsoft.Extensions.DependencyInjection; public static class InkForgeServiceCollections { public static IServiceCollection AddInkForge(this IServiceCollection services) { services.AddHttpClient(); services.AddScoped, NoteDbContextFactory>(); services.AddScoped(s => s.GetRequiredService>().CreateDbContext()); services.AddScoped(); services.AddSingleton(); services.AddSingleton(); Locator.CurrentMutable.RegisterViewsForViewModels(typeof(InkForgeServiceCollections).Assembly); return services; } }