/
va1eriy
/
taskwards
Обзор
Документация
Войти
/
va1eriy
/
taskwards
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Taskwards.Web/Program.cs
48 строк
2 KB
Valeriy Kokorev
feat: add ThemeService for dark mode and drawer state persistence
28 фев 2026, 09:22
28 фев 2026, 09:22
c3787b5
Код
Авторство
О чём код?
using FluentValidation; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Components.Web; using Microsoft.AspNetCore.Components.WebAssembly.Hosting; using MudBlazor.Services; using Taskwards.Web; using Taskwards.Web.Configuration; using Taskwards.Web.Infrastructure.Auth; using Taskwards.Web.Infrastructure.Storage; using Taskwards.Web.Infrastructure.Theme; var builder = WebAssemblyHostBuilder.CreateDefault(args); builder.RootComponents.Add<App>("#app"); builder.RootComponents.Add<HeadOutlet>("head::after"); var environment = builder.HostEnvironment.Environment; builder.Configuration.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); builder.Configuration.AddJsonFile($"appsettings.{environment}.json", optional: true, reloadOnChange: true); builder.Services.Configure<ApiSettings>(builder.Configuration.GetSection("ApiSettings")); var apiSettings = builder.Configuration.GetSection("ApiSettings").Get<ApiSettings>()!; builder.Services.AddTransient<AuthDelegatingHandler>(); builder.Services.AddHttpClient("ApiClient", client => { client.BaseAddress = new Uri(apiSettings.BaseUrl); }).AddHttpMessageHandler<AuthDelegatingHandler>(); builder.Services.AddHttpClient("ApiClientNoAuth", client => { client.BaseAddress = new Uri(apiSettings.BaseUrl); }); builder.Services.AddScoped(sp => sp.GetRequiredService<IHttpClientFactory>().CreateClient("ApiClient")); builder.Services.AddMudServices(); builder.Services.AddAuthorizationCore(); builder.Services.AddScoped<ILocalStorageService, LocalStorageService>(); builder.Services.AddScoped<ITokenStorageService, TokenStorageService>(); builder.Services.AddScoped<TaskwardsAuthStateProvider>(); builder.Services.AddScoped<AuthenticationStateProvider>(sp => sp.GetRequiredService<TaskwardsAuthStateProvider>()); builder.Services.AddScoped<IAuthService, AuthService>(); builder.Services.AddScoped<IThemeService, ThemeService>(); builder.Services.AddValidatorsFromAssemblyContaining<Program>(ServiceLifetime.Singleton); await builder.Build().RunAsync();