Initial commit.

This commit is contained in:
Burak Kaan Köse
2024-04-18 01:44:37 +02:00
parent 524ea4c0e1
commit 12d3814626
671 changed files with 77295 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
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();
}
}

View File

@@ -0,0 +1,12 @@
using System;
namespace Wino.Core.Domain.Models.Personalization
{
public class CustomThemeMetadata
{
public Guid Id { get; set; }
public string Name { get; set; }
public string AccentColorHex { get; set; }
public bool HasCustomAccentColor => !string.IsNullOrEmpty(AccentColorHex);
}
}

View File

@@ -0,0 +1,16 @@
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Models.Personalization
{
public class ElementThemeContainer
{
public ElementThemeContainer(ApplicationElementTheme nativeTheme, string title)
{
NativeTheme = nativeTheme;
Title = title;
}
public ApplicationElementTheme NativeTheme { get; set; }
public string Title { get; set; }
}
}

View File

@@ -0,0 +1,4 @@
namespace Wino.Core.Domain.Models.Personalization
{
public record MailListPaneLengthPreferences(string Title, double Length);
}