using System; using System.Threading.Tasks; using Wino.Core.Domain.Enums; namespace Wino.Core.Domain.Models.Personalization; /// /// Base class for all app themes. /// public abstract class AppThemeBase { public Guid Id { get; set; } public string ThemeName { get; set; } public ApplicationElementTheme ForceElementTheme { get; set; } public string AccentColor { get; set; } public bool IsAccentColorAssigned => !string.IsNullOrEmpty(AccentColor); public string BackgroundPreviewImage => GetBackgroundPreviewImagePath(); public abstract AppThemeType AppThemeType { get; } protected AppThemeBase(string themeName, Guid id) { ThemeName = themeName; Id = id; } public abstract Task GetThemeResourceDictionaryContentAsync(); public abstract string GetBackgroundPreviewImagePath(); }