using ErsatzTV.Core.Domain; using ErsatzTV.Core.Interfaces.Repositories; namespace ErsatzTV.Application.Configuration; public class GetUiSettingsHandler(IConfigElementRepository configElementRepository) : IRequestHandler { public async Task Handle(GetUiSettings request, CancellationToken cancellationToken) { Option pagesIsDarkMode = await configElementRepository.GetValue( ConfigElementKey.PagesIsDarkMode, cancellationToken); Option pagesLanguage = await configElementRepository.GetValue( ConfigElementKey.PagesLanguage, cancellationToken); return new UiSettingsViewModel { IsDarkMode = await pagesIsDarkMode.IfNoneAsync(true), Language = await pagesLanguage.IfNoneAsync("en") }; } }