using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using zero.Search; namespace zero.Pages; internal class ZeroPageModule : ZeroModule { public override void ConfigureServices(IServiceCollection services, IConfiguration configuration) { services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddOptions().Bind(configuration.GetSection("Zero:Pages")); services.AddOptions().Bind(configuration.GetSection("Zero:PageModules")); services.ConfigureOptions(); services.Configure(opts => { opts.Indexes.Add(); opts.Indexes.Add(); opts.Indexes.Add(); opts.Indexes.Add(); }); services.Configure(opts => { opts.Configure(cfg => { cfg.CanUseWithoutFlavors = false; cfg.Add(Constants.Pages.FolderAlias, "@page.folder.name", "@page.folder.description", "fth-folder"); }); }); services.Configure(opts => { opts.Map().Display((x, res, opts) => { FlavorConfig flavor = opts.For().Get(x.Flavor); if (flavor != null) { res.Icon = flavor.Icon; } res.Url = "/pages/edit/" + x.Id; }); }); } }