Files
2025-02-16 11:54:23 +01:00

29 lines
879 B
C#

using System;
using System.Threading.Tasks;
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Models.Personalization;
/// <summary>
/// Base class for all app themes.
/// </summary>
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<string> GetThemeResourceDictionaryContentAsync();
public abstract string GetBackgroundPreviewImagePath();
}